@lapxo/bound 0.2.5 → 0.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CITATION.cff +1 -1
- package/README.md +20 -3
- package/TARGET.bound +75 -42
- package/dist/cli/accept.js +59 -70
- package/dist/cli/act-result.js +3 -3
- package/dist/cli/args.js +1 -1
- package/dist/cli/host.js +1 -1
- package/dist/cli/native.js +1 -1
- package/dist/cli/pass.js +22 -21
- package/dist/cli/place.js +6 -6
- package/dist/cli/release-result.js +3 -3
- package/dist/cli/retained-judgment.js +1 -1
- package/dist/cli/standing-result.js +3 -3
- package/dist/cli/takes.js +10 -10
- package/dist/cli/verb.js +79 -77
- package/dist/engine/computation.js +1 -1
- package/dist/engine/index.js +1 -1
- package/dist/engine/object.js +1 -1
- package/dist/engine/ports.js +1 -1
- package/dist/fold/admission-history.js +1 -1
- package/dist/fold/ceilings.js +1 -1
- package/dist/fold/claims.js +2 -2
- package/dist/fold/closed.js +1 -1
- package/dist/fold/configures.js +1 -1
- package/dist/fold/digests.js +10 -10
- package/dist/fold/evidence.js +1 -1
- package/dist/fold/keys.js +3 -3
- package/dist/fold/laid.js +1 -1
- package/dist/fold/observed.js +27 -26
- package/dist/fold/opened.js +1 -1
- package/dist/fold/own.js +3 -3
- package/dist/fold/paid.js +1 -1
- package/dist/fold/place-inputs.js +1 -1
- package/dist/fold/places.js +1 -1
- package/dist/fold/reach.js +1 -1
- package/dist/fold/readers.js +1 -1
- package/dist/fold/region.js +1 -1
- package/dist/fold/release-policy.js +1 -1
- package/dist/fold/resolved.js +1 -1
- package/dist/fold/roles.js +1 -1
- package/dist/fold/shards.js +8 -8
- package/dist/fold/signed.js +3 -3
- package/dist/fold/signers.js +1 -1
- package/dist/fold/stranger.js +6 -6
- package/dist/fold/wire.js +1 -1
- package/dist/fold/zoom.js +1 -1
- package/dist/host/act-cost.js +1 -1
- package/dist/host/adapters/keys/ed25519.js +1 -1
- package/dist/host/adapters/transport/http.js +1 -1
- package/dist/host/admitted-place.js +1 -1
- package/dist/host/call-context.js +1 -1
- package/dist/host/capsule-process.js +1 -1
- package/dist/host/capsule.js +1 -1
- package/dist/host/cell-receipts.js +1 -1
- package/dist/host/command-server.js +4 -0
- package/dist/host/content-store.js +1 -1
- package/dist/host/contextual-place.js +1 -1
- package/dist/host/digest.js +1 -1
- package/dist/host/host-controls.js +1 -1
- package/dist/host/in-process-act.js +1 -1
- package/dist/host/in-process-context.js +1 -1
- package/dist/host/in-process-root.js +1 -1
- package/dist/host/in-process.js +1 -1
- package/dist/host/index.d.ts +1 -1
- package/dist/host/index.js +1 -1
- package/dist/host/located.js +6 -6
- package/dist/host/native/authority-card-view.js +5 -0
- package/dist/host/native/authority-card.js +1 -0
- package/dist/host/native/command.js +1 -1
- package/dist/host/native/custody.js +1 -1
- package/dist/host/native/generated-custodian.js +1 -1
- package/dist/host/native/installed-package.d.ts +1 -0
- package/dist/host/native/installed-package.js +5 -0
- package/dist/host/native/module-delivery.d.ts +1 -1
- package/dist/host/native/module-delivery.js +1 -1
- package/dist/host/native/module-inventory.js +2 -0
- package/dist/host/native/module-syntax.js +1 -1
- package/dist/host/native/native-binary.js +1 -1
- package/dist/host/native/probes.js +1 -0
- package/dist/host/native/reading-witness-admission.js +5 -0
- package/dist/host/native/reading.js +1 -1
- package/dist/host/native/route.js +1 -1
- package/dist/host/native-place-state.js +1 -0
- package/dist/host/native-receiver.js +1 -1
- package/dist/host/objects.js +1 -1
- package/dist/host/persistent-host.js +1 -0
- package/dist/host/physical-lines.d.ts +1 -0
- package/dist/host/physical-lines.js +1 -0
- package/dist/host/place-act-transaction.js +1 -1
- package/dist/host/place-clock-selection.js +1 -1
- package/dist/host/ports/local-act.js +1 -1
- package/dist/host/ports/place-act.js +1 -1
- package/dist/host/ports/store.js +1 -1
- package/dist/host/ports/transport.js +1 -1
- package/dist/host/profile-composition.d.ts +1 -0
- package/dist/host/profile-composition.js +2 -0
- package/dist/host/reading-closures.js +6 -6
- package/dist/host/reading-context.js +1 -1
- package/dist/host/reading-identity.js +2 -2
- package/dist/host/reading-preparation.js +1 -1
- package/dist/host/reference-authenticated.d.ts +1 -1
- package/dist/host/reference-authenticated.js +1 -1
- package/dist/host/reference-export.js +1 -1
- package/dist/host/reference-native-api.d.ts +1 -1
- package/dist/host/reference-native-api.js +1 -1
- package/dist/host/reference-native.js +1 -1
- package/dist/host/reference-standing.js +1 -1
- package/dist/host/reference.js +1 -1
- package/dist/host/refusals.js +2 -2
- package/dist/host/release.js +1 -1
- package/dist/host/root-clock-source.js +1 -1
- package/dist/host/selected-capsules.js +1 -1
- package/dist/host/selected-topos.js +1 -1
- package/dist/host/signing.js +2 -2
- package/dist/host/source-content.js +1 -1
- package/dist/host/standing-carrier.js +1 -1
- package/dist/host/standing-projection.js +1 -1
- package/dist/host/timing.js +1 -1
- package/dist/host/walk.js +1 -1
- package/dist/host/work-trace.js +1 -0
- package/dist/judge/late.js +1 -1
- package/dist/judge/take.js +1 -1
- package/dist/judge/widening.js +1 -1
- package/dist/land/act.js +6 -6
- package/dist/land/alias.js +1 -1
- package/dist/land/held.js +1 -1
- package/dist/land/ledger.js +5 -6
- package/dist/land/sign.js +1 -1
- package/dist/land/standing-pin.js +1 -1
- package/dist/land/vouched.js +1 -1
- package/dist/land/withdraw.js +1 -1
- package/dist/observe/files.js +1 -1
- package/dist/observe/identity.js +1 -1
- package/dist/observe/match.js +1 -1
- package/dist/observe/regions.js +1 -1
- package/dist/observe/run.js +1 -2
- package/dist/observe/runner.js +1 -1
- package/dist/public-types.d.ts +945 -40
- package/dist/render/capsule.js +1 -1
- package/dist/render/field.js +1 -1
- package/dist/render/open.js +1 -1
- package/dist/render/page.js +1 -1
- package/dist/render/receipt-projection.js +1 -0
- package/dist/render/receipts.js +1 -1
- package/dist/render/shape.js +1 -1
- package/dist/render/target.js +4 -4
- package/dist/render/view.js +5 -5
- package/dist/vendor/bundle.json +1 -1
- package/dist/vendor/library14.js +1 -0
- package/dist/vendor/runtime.js +53 -30
- package/dist/wasm/adapter.d.ts +1 -1
- package/docs/contracts/authenticated-reference.publication.json +1 -1
- package/docs/contracts/authority-preflight.md +17 -0
- package/docs/contracts/authority-preflight.publication.json +25 -0
- package/docs/contracts/installed-package.md +21 -0
- package/docs/contracts/installed-package.publication.json +25 -0
- package/docs/contracts/materialized-leaf-sequence.md +15 -0
- package/docs/contracts/materialized-leaf-sequence.publication.json +25 -0
- package/docs/contracts/module-inventory.md +15 -0
- package/docs/contracts/module-inventory.publication.json +25 -0
- package/docs/contracts/native-host.md +29 -1
- package/docs/contracts/native-host.publication.json +4 -4
- package/docs/contracts/native-probes.md +13 -0
- package/docs/contracts/native-probes.publication.json +25 -0
- package/docs/contracts/native-publication.inventory.json +9 -1
- package/docs/contracts/native-view-batch.md +17 -0
- package/docs/contracts/native-view-batch.publication.json +25 -0
- package/docs/contracts/physical-lines.md +19 -0
- package/docs/contracts/physical-lines.publication.json +25 -0
- package/docs/contracts/profile-composition.md +17 -0
- package/docs/contracts/profile-composition.publication.json +25 -0
- package/docs/contracts/profile-preparation-native-meaning.md +9 -0
- package/docs/contracts/publication.md +12 -0
- package/docs/contracts/reading-identity.md +26 -2
- package/docs/contracts/reading-identity.publication.json +4 -4
- package/docs/contracts/reading-witness-admission.md +49 -0
- package/docs/contracts/readme.publication.json +1 -1
- package/docs/contracts/reference-port.md +11 -0
- package/docs/contracts/reference-port.publication.json +1 -1
- package/docs/contracts/refusals.bound +346 -145
- package/docs/contracts/refusals.md +119 -54
- package/docs/contracts/refusals.publication.json +2 -2
- package/docs/reference.md +8 -0
- package/licenses/wasm/{fast-text-encoding.txt → NOTICE.txt} +111 -0
- package/package.json +69 -8
- package/receipts.bound +12921 -11722
- package/samples/authority-preflight/no.json +6 -0
- package/samples/authority-preflight/yes.json +30 -0
- package/samples/engine-alphabet/reader.js +3 -1457
- package/samples/engine-alphabet/receipts.bound +7 -7
- package/samples/engine-interval/reader.js +3 -1457
- package/samples/engine-interval/receipts.bound +7 -7
- package/samples/installed-package/consumer.mjs +29 -0
- package/samples/installed-package/fixture.json +48 -0
- package/samples/installed-package/no.json +10 -0
- package/samples/installed-package/yes.json +52 -0
- package/samples/materialized-leaf-sequence/no.json +11 -0
- package/samples/materialized-leaf-sequence/yes.json +10 -0
- package/samples/module-inventory/yes.json +28 -0
- package/samples/native/physical-line-reader.mjs +1 -0
- package/samples/native/physical-line-reader.source.mjs +13 -0
- package/samples/native-host/no.json +6 -1
- package/samples/native-host/yes.json +18 -1
- package/samples/native-probes/inputs/inspection.json +28 -0
- package/samples/native-probes/no.json +7 -0
- package/samples/native-probes/yes.json +28 -0
- package/samples/native-view-batch/no.json +14 -0
- package/samples/native-view-batch/yes.json +10 -0
- package/samples/no/engine-order/reader.js +3 -1457
- package/samples/no/module-inventory/no.json +10 -0
- package/samples/physical-lines/no.json +5 -0
- package/samples/physical-lines/yes.json +9 -0
- package/samples/profile-composition/no.json +6 -0
- package/samples/profile-composition/yes.json +14 -0
- package/samples/reading-identity/no.json +7 -1
- package/samples/reading-identity/yes.json +24 -1
- package/vectors/native/authority-preflight.vector.json +55 -0
- package/vectors/native/installed-package.vector.json +31 -0
- package/vectors/native/materialized-leaf-sequence.vector.json +31 -0
- package/vectors/native/module-inventory.vector.json +56 -0
- package/vectors/native/native-host.vector.json +214 -0
- package/vectors/native/native-probes.vector.json +31 -0
- package/vectors/native/native-view-batch.vector.json +31 -0
- package/vectors/native/physical-lines.vector.json +105 -0
- package/vectors/native/profile-composition.vector.json +53 -0
- package/vectors/native/reading-identity.vector.json +38 -0
- package/vectors/native/refusals.vector.json +36 -2
- package/dist/vendor/library11.js +0 -1
- package/dist/vendor/sources.json +0 -1
- package/licenses/wasm/bound.txt +0 -21
- package/licenses/wasm/jitl-quickjs-ffi-types.txt +0 -21
- package/licenses/wasm/jitl-quickjs-wasmfile-release-sync.txt +0 -47
- package/licenses/wasm/obligations.txt +0 -21
- package/licenses/wasm/quickjs-emscripten-core.txt +0 -21
- package/licenses/wasm/topos.txt +0 -21
- /package/dist/vendor/{50086958553b9376d600583f7dff354196bfeb41170fc6d1482ca7bea7c493e2.LICENSE → 28cba430228db1c04f446c93f81b09a2705d6bf3e222d35adbe5a4cee4061884.LICENSE} +0 -0
- /package/dist/vendor/{b3e938d28f88a1851af303a40c749e12ebd5a686daac4f0b343b5cdd2e040419.LICENSE → 7aca161279d14bc0e054dcc281cd110aeb95be2e026b42fdf527a260e58b2aae.LICENSE} +0 -0
package/TARGET.bound
CHANGED
|
@@ -1,21 +1,29 @@
|
|
|
1
|
-
bound-lock/1 about="# @lapxo/bound\n\nBound turns signed statements, observations and requirements into a place you can inspect. It keeps who said what, preserves incompatible declarations, and projects the views selected by that place. Missing evidence stays missing; a rendered page is not proof that every requirement has been met.\n\nThe same pure engine is available to applications and to the CLI. Topos supplies the wire and interpretation contracts; Obligations supplies the constraint algebra. Bound adds admission, authenticated reading, retained receipts and declared host operations around that core.\n\n## A place, its readings and its receipts\n\nA place declares its rules and selected worlds in `TARGET.bound`. Worlds supply readers and renderers for their own domains. A fold reads the declared inputs, applies the admitted constraints, and renders the selected views. `receipts.bound` carries the public evidence needed to check the resulting files; private admission history stays in the local `.bound/` store.\n\nUnchanged regions can retain valid receipts. A changed input reopens the regions it affects, while incompatible admitted statements remain visible. A digest identifies content; it grants neither authority nor permission to reuse an old answer as current. A receipt records a reading under its declared context, rather than establishing the truth or independence of its sources.\n\n## Install and use\n\n```sh\nnpm install @lapxo/bound@0.2.
|
|
1
|
+
bound-lock/1 about="# @lapxo/bound\n\nBound turns signed statements, observations and requirements into a place you can inspect. It keeps who said what, preserves incompatible declarations, and projects the views selected by that place. Missing evidence stays missing; a rendered page is not proof that every requirement has been met.\n\nThe same pure engine is available to applications and to the CLI. Topos supplies the wire and interpretation contracts; Obligations supplies the constraint algebra. Bound adds admission, authenticated reading, retained receipts and declared host operations around that core.\n\n## A place, its readings and its receipts\n\nA place declares its rules and selected worlds in `TARGET.bound`. Worlds supply readers and renderers for their own domains. A fold reads the declared inputs, applies the admitted constraints, and renders the selected views. `receipts.bound` carries the public evidence needed to check the resulting files; private admission history stays in the local `.bound/` store.\n\nUnchanged regions can retain valid receipts. A changed input reopens the regions it affects, while incompatible admitted statements remain visible. A digest identifies content; it grants neither authority nor permission to reuse an old answer as current. A receipt records a reading under its declared context, rather than establishing the truth or independence of its sources.\n\n## Install and use\n\n```sh\nnpm install @lapxo/bound@0.2.6\n```\n\nIn a place with admitted declarations and closed public receipts, check the existing evidence without running its readers again:\n\n```sh\nnpx @lapxo/bound@0.2.6 fold --check\n```\n\nFor a change, prepare a proposal, sign with a key already covered by the place, admit the signed lot, then fold and inspect the result. Signing and admission do not by themselves pay a requirement. The [usage guide](docs/usage.md) covers keys, coverage, proposals, withdrawals and release policy.\n\n## Embed the engine\n\n`objectFold` projects already admitted records in effective order. It does not acquire content, verify signatures, choose authority, commit an act or write storage. Those preparation steps belong to the host.\n\nFor an authenticated reference, your host supplies the independently accepted trust context: signer grants and epoch, selected form, policy, byte and record bounds, content and cryptographic ports. The carrier cannot choose those inputs. This example verifies the carrier through `/reference`, then uses the same `/engine` projection as the CLI:\n\n```js\nimport { objectFold } from '@lapxo/bound/engine';\nimport { inspectAuthenticatedReference } from '@lapxo/bound/reference';\n\nexport async function openAndProject(reference, trust) {\n const opened = await inspectAuthenticatedReference(reference, trust);\n return objectFold(opened.records, trust.objects);\n}\n```\n\nCaptured on a clean installed consumer, with two independently admitted fixture places and an altered carrier in each:\n\n```text\nREADME sensor · REQUIRED · altered carrier refused\nREADME editorial · REQUIRED · altered carrier refused\n```\n\nOpening and projecting a reference never commit an act. The authenticated context binds the standing contract and refusal catalog by digest, so consumers can identify the contracts used to interpret the result.\n\n## Public boundaries\n\n| Entry | Responsibility |\n| --- | --- |\n| `/engine` | Pure projection of admitted object records; optional, explicitly injected host ports. |\n| `/reference` | Inspect a carrier against the host's accepted context and verify its content and authority. |\n| `/reference/native` | Export a signed carrier from a real admitted place and open it with an explicitly selected backend. |\n| `/wasm` | Load the optional WASM adapter for the published object projection. |\n| `/refusals` and `/standing-contract` | Read the machine-readable contracts bound into authenticated exports. |\n\nNative opening selects **ESM or WASM explicitly**; an unsupported selection refuses rather than falling back. The WASM adapter covers the published object projection. Admission, effects and the whole CLI do not run inside WASM. Independent physical-machine verification remains pending.\n\nThe host supplies bounded [signer, content and persistence ports](docs/contracts/host-ports.md). Their identities and limits are explicit. Retaining bytes is an explicit operation: it grants no admission or permission to reuse a response. The existing authority path verifies signatures before returning an authenticated carrier.\n\n[Complete standing](docs/contracts/standing.md) covers declared key classes and committed local acts, preserving attribution, exact withdrawals and conflicts. [Refusals](docs/contracts/refusals.md) have machine-readable codes, meanings and suggested next steps; human diagnostics are not parsed as authority.\n\n## Native consumer operations\n\nApplications can query `prepareNativeViewIdentities` from `/host` for `lines` and `evidence` in one read-only observation. Each result includes its own identity and the text captured under that identity. The CLI uses the same implementation:\n\n```sh\nbound fold --as reading-identities@lines+evidence\nbound fold --as probe@lines\n```\n\nA probe is a bounded reading attempt. The consumer owns its counter; Bound does not persist probe markers. Admitted input and response limits still apply. See [native view identities](docs/contracts/native-view-batch.md) and [probes](docs/contracts/native-probes.md).\n\n`/physical-lines` counts physical UTF-8 lines under declared selectors and binds a reading witness to its exact inputs. It delegates threshold and widening decisions to Bound's existing judges. `/profiles` prepares digest-pinned composition and selects exact release categories; preparation does not admit a change. `/package/native` produces a content identity for a verified installed inventory and its reached modules. That identity is distinct from the compressed archive digest.\n\nSee [physical lines](docs/contracts/physical-lines.md), [profile composition](docs/contracts/profile-composition.md), [installed package identity](docs/contracts/installed-package.md) and [materialized outputs](docs/contracts/materialized-leaf-sequence.md).\n\n`await prepareNativeAuthorityCard(context)` from `/host` returns `allow`, `ask` or `deny` for exact configuration actions using current native authority and admission checks. The caller supplies an explicit clock, epoch and bounded ports. `fold --as authority-card@<scope>` reads a bounded request selected by admitted lines; the request cannot supply a trust anchor or select an instrument. A card is a preflight, and each eventual act still checks its signatures and current authority. See the [authority card contract](docs/contracts/authority-preflight.md).\n\n## Contracts and foundations\n\n- [Native authenticated export](docs/contracts/reference-export.md) and [reference backends](docs/contracts/reference-backend.md).\n- [Pure engine](docs/contracts/engine.md), [host ports](docs/contracts/host-ports.md) and [CLI usage](docs/usage.md).\n- [Topos](https://github.com/Lapxo/topos): wire, interpretation and identity contracts.\n- [Obligations](https://github.com/Lapxo/obligations): the unchanged constraint algebra.\n\nThe underlying object is described in [Two-Sided Constraints on a Valued Lattice](https://doi.org/10.5281/zenodo.21858428), DOI `10.5281/zenodo.21858428`.\n" at=witness:prospective-version-selection by=target form=alphabet measure=text role=writes scope=prose/en/files/public-0 shape=README.md value=lock
|
|
2
2
|
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\n## Folded standing\n\nA place declares `view/standing role=demands form=alphabet measure=id value=standing`. `fold --as standing` authenticates each local line against its admission snapshot, then applies revisions and covered exact withdrawals through the existing fold. Every declared key class participates, including attest. Committed acts and historical journals have the same public output. Retiring a key does not erase its previously admitted evidence. Replay adds nothing. Foreign history grants no local authority. This projection is distinct from authenticated delivery history and does not create a new authority lock. An undeclared standing view refuses by name.\n" at=witness:bound-017-public-boundary by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-evidence-view shape=docs/contracts/evidence-view.md value=lock
|
|
3
3
|
bound-lock/1 about="# Authenticated native reference opening\n\n`@lapxo/bound/reference/native` exports `exportAuthenticatedReference` and `openAuthenticatedReference`. This is the Node host boundary. The platform-free inspector stays in `/reference`; the pure projector stays in `/engine`.\n\nThe receiver admits one `engine/object` declaration: `esm@1` or `wasm@1`. Missing, ambiguous and unknown selections refuse. WASM never falls back to ESM. The native route shares one context preparation, authenticates the received original records, then calls the existing selected projector. It introduces no algebra or alternate interpreter.\n\nThe host admits `reference/snapshot`, `reference/epoch`, `reference/proof-scope`, `reference/policy`, `reference/form-implementation`, `reference/records`, and the standing/refusal contract digests. The policy is the independently accepted export policy, not a policy invented from the received carrier. The prepared form implementation must match the admitted expectation, and both interpretation contracts must match the installed bytes. A carrier's accompanying context is public data, not an authority anchor.\n\nContent goes through the declared transport and its existing byte/time limits. The snapshot binds the declared public context, including resource budgets. The native opener accepts an AbortSignal and checks interruption before download and projection; the WASM worker uses its existing cancellation and lifetime contract. This does not claim cancellation of an in-flight native download, browser persistence or arbitrary browser capsules.\n\nWASM uses the installed asset manifest, runtime, guest and exact supported form standings. The caller cannot replace that manifest with a convenient fixture. Its memory, stack, execution, worker-lifetime and response budgets remain explicit admitted interval lines. A form outside that installed closure refuses by name.\n\nThe positive fixture uses the previously published native reader archive named in `samples/reference-backend/world-fixture.json`, or the same supported standing and closed modules already laid by digest. Preparation verifies every byte before timed opening. The fixture archive is fetched or retained outside opening measurements; no private store or checkout path identifies it. No provider code executes during archive preparation.\n\nThe native quartet opens one signed reference in two unrelated places, once through each explicitly selected backend. It compares authenticated standing, records and canonical projection bytes. Authority-context identity describes authentication, not an execution receipt: equal outputs never authorize reuse of a receipt across implementations. Neither opening signs or commits an act.\n\nCaptured semantic markers:\n\n```text\nWASM water-level-reference · authenticated download · same standing · same records · byte-equal ESM projection · altered carrier refused · no commit\nWASM editorial-reference · authenticated download · same standing · same records · byte-equal ESM projection · altered carrier refused · no commit\n```\n\nThe no sample changes the carrier while retaining its reference. Integrity refuses before projection. Existing vectors also retain unknown-backend, unsupported-form, byte-budget, authority and cancellation boundaries. The quartet descriptor is `reference-backend.publication.json`; installed-archive release acceptance and L6 remain separate obligations.\n" at=witness:bound021-final-bindings by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-reference-backend shape=docs/contracts/reference-backend.md value=lock
|
|
4
|
+
bound-lock/1 about="# Authority card view\n\n`await prepareNativeAuthorityCard(context)` produces a read-only native preflight for exact requested configuration records. `record-coverage` checks current signer eligibility, coordinate coverage and the existing widening witness rule. `admission` additionally invokes the same structured wire, standing-pin, same-lot withdrawal, destination ownership, fork, alias, existing-reading, withdrawn-coordinate and demand checks used by the native admission path. Root and child destinations use their actual authenticated standing. An `allow` covers only this named configuration preflight; the eventual act still verifies its actual signatures, current authority and commit conditions. It never signs, commits, publishes or runs a requested action.\n\nThe receiver supplies the Root location and native instrument. Both public operations are asynchronous and retain the existing native Root authority protection while inspecting evidence. The protection is released before the promise settles, including refusals, and nested protected calls reuse their real held protection. Prospective child inspection preserves the caller's preview state and keeps nested Root previews separate. Every call supplies an explicit authority epoch and `{name, unit, now}` clock. Current Root history is freshly authenticated from the original bootstrap anchor; grant digests supplied in request JSON establish nothing. Root history and selected lock bytes must remain unchanged throughout preparation. Operational elapsed-time measurements in existing demand/fold code continue using the actual host clock. They are not substituted for card freshness and are not frozen to the supplied semantic time.\n\nThe `catalog` and `standingContract` fields are the exact digests of the shipped refusal catalog and standing contract, read by the existing installed-contract helper. Policy, coverage, budget and judgment digests commit semantic context; they do not name invented files. The card uses the Topos authority-card format and `authorityCardAnswer`. Its coverage commitment binds the real Root location, selected place, key, authenticated current grants and exact action identities. Its snapshot binds the selected lock bytes. Answering reruns the native checks and verifies the reconstructed statement and evidence; it accepts no consumer-provided judgment callback. Grant retirement invalidates a card even when child lock bytes remain unchanged. An expired or obsolete card returns `card-stale`; an action absent from the card returns `not-in-card`. Parsed card shape alone cannot establish authority.\n\n`allow`, `ask` and `deny` preserve the existing check outcomes. `ask` names the missing signatures, widening witnesses, existing readings or unpaid demands. Named native authority, wire, pin, placement, fork, withdrawal and demand refusals produce `deny`. Missing bounded admission evidence remains `ask` with its exact request identity. New demands remain owed until their native judgment is paid. A declared reading-witness policy uses the same witness-admission hook for the view and the act; legacy witnessing remains unchanged when no such policy is selected. Typed-object admission, execution and unrelated aggregate actions are outside this configuration contract and refuse explicitly.\n\n## Request selection\n\n`fold --as authority-card@<scope>` selects exactly one currently admitted Root record at `<scope>` with `form=alphabet`, `role=writes`, `measure=authority-card-request` and a SHA-256 digest in `value`. Two admitted interval records `<scope>/bytes` and `<scope>/items`, each `role=writes` and `value=0..N`, bound the request. The receiver reads local CAS bytes with the declared byte bound before decoding or hashing, verifies the selected digest, and calls `parseNativeAuthorityCardRequest`. It never resolves or executes an offered provider for this view.\n\nThe request document contains exactly `profile`, `place`, `key`, `authorityEpoch`, `clock`, `horizon`, `limits` and `actions`. The profile is `native-authority-card-request/1`. `place` is `.` or a declared relative child. `limits` contains positive finite `bytes` and `items`, neither larger than the admitted request policy. Every action contains exactly `kind` (`record-coverage` or `admission`) and `records` (wire-line strings). Clock contains exactly `name`, `unit` and `now`; horizon contains exactly `clock`, `unit`, `from` and `through`. Requested key names, record signatures and clocks are data checked against the current receiver context. The request cannot supply a Root path, store, instrument, trust anchor or private key. Extra `root` or `instrument` fields, unsupported actions, invalid clocks, unbounded input and digest mismatches refuse.\n\n`await answerNativeAuthorityCard(card, requestIdentity, context)` uses the same trusted receiver inputs and fresh explicit request snapshot. Consumers use `nativeAuthorityRequestIdentity(action)` to name an exact action; they do not reconstruct grants or infer permission from a card's shape. All byte/item limits are finite, and preparation persists no admission result or proof cache.\n" at=policy:consumer-native-contract by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-authority-preflight shape=docs/contracts/authority-preflight.md value=lock
|
|
4
5
|
bound-lock/1 about="# Complete public standing\n\nSource of truth: `standing.bound`. Resolve `@lapxo/bound/standing-contract` for these exact contract lines. The authenticated export context binds their digest beside the refusal catalog digest.\n\n`bound fold --as standing` reads admitted evidence across every declared key class and committed local acts. Authentication uses the grant and signature vocabulary at each admission epoch. Storage layout is not authority. No consumer reconstructs journals or chooses the first declaration on collision.\n\n- **standing/classes: all-declared.** Standing is authenticated under admission snapshots across declared key classes.\n- **standing/duplicates: preserve-attribution.** Exact redelivery does not establish another origin.\n- **standing/withdrawals: exact.** Exact configuration withdrawals are applied before publication; typed records retain their admitted effective history.\n- **standing/conflicts: preserve.** Incompatible admitted declarations are preserved; no first-wins selection.\n- **standing/history: distinct.** Historical receipts are evidence, not current authority or a current response.\n- **standing/publication: live-configuration.** Public current configuration omits withdrawal markers; authenticated historical records remain available through evidence and act views.\n- **standing/namespaces: preserve.** The contextual carrier separates Root, legacy places and committed place contexts; clocks are never flattened.\n- **standing/effective-order: admitted.** Typed records retain admitted effective order; standing is evidence rather than a new grant of authority.\n\nThe legacy Root output is canonical signed lines. A place declaring `place-act-context@1` returns its existing JSON carrier: `root`, `legacyPlaces`, `places`, and authenticated `contexts`. Namespaces and independent clocks remain separate; contextual data never grants Root authority. Configuration revisions and exact withdrawals have already been applied. Typed effective history is passed to the existing object projection, not treated as configuration. `standing` is current evidence; `evidence` and `act` preserve history.\n\nNative quartet: `standing.publication.json`. The same real CLI vector runs in observations and inventory, in journal and committed-act modes. It prints:\n\n```text\nSTANDING observations journal · all classes · collisions retained · exact withdrawals · replay identical · forged excluded\n```\n\nThe no sample changes admitted bytes without resigning: the forged row is excluded while valid rows remain. Later withdrawal of a key does not erase its historically admitted evidence. No private fixture key, path or run log ships with the quartet.\n" at=witness:bound021-final-bindings by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-standing shape=docs/contracts/standing.md value=lock
|
|
5
6
|
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
|
|
6
7
|
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
|
|
7
8
|
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
9
|
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 <coordinate> --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\n## Computation statements\n\n`fold --as computation --key <key> [--key-file <host-file>]` computes the existing authenticated object projection. It requires an admitted `view/computation=computation@1`, one digest each for `computation/contract` and `computation/numeric-policy`, and explicit `0..N` limits for `computation/bytes` and `computation/milliseconds`. The key must be current and cover `computation`. No implicit key or delivery approval is used.\n\nThe CLI uses the same `executeComputation` operation exported by `/engine`. Its signer is the existing host-selected file or command mechanism; the original signed history is not modified. The returned `bound-computation-delivery@1` contains the public context, request bytes, signed statement and result bytes. Relevant environment values are committed as digests. Verification must use an independently chosen context and public key, not trust the supplied context merely because it was delivered.\n\nThe implementation identity covers the native instrument closure and, when selected, the WASM assets. The selected form standings and their executable closures are transitive inputs. A statement names what ran; its signature authenticates that observation, not mathematical correctness, independence, a Root admission or permission to publish.\n" at=policy:public-build-conformance by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-views shape=docs/contracts/views.md value=lock
|
|
10
|
+
bound-lock/1 about="# Installed package identity\n\n`installedPackageIdentity` reads a selected installed package directory. Its caller supplies the receiving instrument's admitted `pin-shape` value, a complete authenticated regular-file inventory, explicit package export selectors, authenticated dependency snapshots and bounded resources. As in the existing provider, the manifest is `<shape>.json`; an admitted shape of `package` selects `package.json`.\n\nThis is a content identity and a preparation result. Caller-supplied inventories and pins establish no authority by themselves. The API neither discovers a publisher nor admits a dependency, signs a lot, executes package code or pays an owner receipt.\n\nEvery regular file must occur once in the expected inventory with its exact SHA-256 digest. Missing, changed and extra files refuse. Symbolic links, special files and members outside the selected physical directory refuse. Empty directories, timestamps, filesystem locations, ownership and archive headers do not contribute bytes. Package names and versions come from exact manifest bytes; portable module delivery currently requires an ESM manifest and its existing supported member/edge forms.\n\nThe implementation reuses Topos `topos-inventory/1` to prove explicitly selected package exports, then Bound's existing `deliverModuleClosure` and `moduleInventory` to verify reached modules and consumed dependency pins. `parent: \"self\"` names the installed root snapshot in a dependency binding; other parents use exact authenticated snapshot identities. Unknown bare imports and computed or unsupported edges retain the existing closure refusals. A snapshot's expected identity is supplied by its authenticated host; this API does not create that authentication.\n\nModule reachability is file reachability. A reached module retains all its bytes, including unused symbols. An unreachable local module is absent from the reached module inventory but remains part of the complete installed file identity. Altering that local file changes the installed identity when a correspondingly revised inventory is supplied. Unconsumed dependency pins cannot add modules or alter the consumed closure.\n\nThe returned `snapshot` hashes the existing canonical wire file-digest inventory, sorted by coordinate and terminated by newlines. The returned installed `digest` hashes sorted canonical wire lines followed by a final newline: the `installed/profile` id `bound-installed-package@1`, `installed/manifest` exact digest and declared shape/name/version, every `file/<coordinate>` digest, the canonical Topos export-inventory digest, the verified closure and delivery digests, and each consumed dependency binding's parent/specifier, snapshot and entry. All lines use the existing canonical wire encoder and shared host SHA-256 implementation. The complete preimage is returned as `lines` for review and independent comparison.\n\nThese identities name different bytes: a compressed `.tgz` digest commits the exact compressed archive; a tar digest commits the exact uncompressed tar representation; the installed digest commits the canonical installed-byte evidence above. Repacking identical files may change either archive digest while the installed identity stays equal. An installed directory cannot recover or certify the original `.tgz` digest. The result intentionally contains no `archiveDigest` claim.\n\nLocal stable refusals include `installed/resources`, `installed/cancelled`, `installed/inventory`, `installed/missing-member`, `installed/member-integrity`, `installed/uninventoried-member`, `installed/external-member`, `installed/manifest`, `installed/text-member`, `installed/export` and `installed/pin`. Existing module/export verifiers retain their named diagnostic causes. No observations, writes, compilation, installation or admission occur during this reading.\n\n## Declared native case inputs and outputs\n\nThe published yes/no JSON files are actual parameters read by `test/installed-package.test.ts`. Each native procedure retains its semantic assertions and unrelated disposable places. The vector invokes that procedure through the existing Node test reader. The input JSON declares exact case source strings and negative argument values; generated source, output and receipt bytes are read and checked by that same procedure. These public parameter fixtures contain no retained private authority history. Passing test output is not a real Root receipt or permission to admit a lot.\n" at=policy:consumer-native-contract by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-installed-package shape=docs/contracts/installed-package.md value=lock
|
|
11
|
+
bound-lock/1 about="# Materialized leaf receipt sequence\n\nA consumer may admit a version or prose change, request only `fold --as receipts`, then request `fold --check`. Receipt-only rendering must not certify a previously rendered README or manifest against the newly admitted source. The existing native receipt renderer checks each required ordinary view against its current semantic render before issuing region counts and byte seals. A valid byte digest alone does not establish semantic freshness.\n\nThe focal vector `test/materialized-leaf-sequence.test.ts` runs that exact sequence in two unrelated disposable places. It installs an actual content-addressed capsule that renders Markdown and a JSON manifest from admitted version and prose claims. Bootstrap and edits use the existing real file signing port with disposable fixture authority. No normal fold, fresh leaf renderer invocation, output copy or byte reseal is inserted between the admitted edit and the receipt-only/check sequence.\n\nThe stale outputs remain unchanged during the receipt-only request, and the immediately following check refuses closure. A normal subsequent fold renders the updated leaves and recovers closure. An altered or absent README or manifest also cannot pass closure after a receipt-only request.\n\nThe delivery scope is explicit. The default receipt guard requires all ordinary outputs declared for the source. A delivery explicitly selecting only README may omit an unrelated source-only manifest; absence never chooses that subset implicitly. Removing a selected README refuses the selected seal as well. The focal vector checks this binding once per place and leaves the broader delivery mutation matrix to the existing `pass-receipt-order` vector.\n\nThis is a consumer conformance vector for the existing materialized-output guard. It adds no evaluator, rendering implementation, admission authority or runtime exemption. Passing the vector establishes the tested native behavior, not owner authorization, publication or final release closure.\n\n## Declared native case inputs and outputs\n\nThe published yes/no JSON files are actual parameters read by `test/materialized-leaf-sequence.test.ts`. Each native procedure retains its semantic assertions and unrelated disposable places. The vector invokes that procedure through the existing Node test reader. The input JSON declares exact case source strings and negative argument values; generated source, output and receipt bytes are read and checked by that same procedure. These public parameter fixtures contain no retained private authority history. Passing test output is not a real Root receipt or permission to admit a lot.\n" at=policy:consumer-native-contract by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-materialized-leaf-sequence shape=docs/contracts/materialized-leaf-sequence.md value=lock
|
|
9
12
|
bound-lock/1 about="# Native authenticated reference export\n\n`bound sign --as reference <source-url> --key <key-id>` exports a public snapshot from an admitted local place. The selected host signer is the place's existing signer port. File signing additionally requires its explicitly supplied `--key-file`; command signing uses the host registry. There is no implicit signer, network fetch or private export runner.\n\nThe command prints one JSON value with profile `reference-export@1`, a `reference`, the exact `carrier` text and a public `context`. It neither lands the proof nor advances the place's epoch. It does not publish, write an output directory or alter TARGET, ledgers or receipts. The caller chooses where to deliver these bytes.\n\nThe place declares `reference/authentication=authenticated-standing@1`, `reference/proof-scope`, `reference/records`, and an interval `reference/export-bytes` measured in bytes. It also pins `reference/contracts/refusals` and `reference/contracts/standing` to the exact installed contract files. Missing, conflicting or unauthenticated declarations refuse. These are place declarations, not increased general ceilings.\n\nThe exporter uses Bound's authenticated Root standing and existing context preparation. It preserves typed effective history and applies the existing configuration projection; it does not implement another fold. If the current carrier profile cannot represent historical authority, it refuses as `reference-export/history` instead of dropping originals or forging a new admission. The separate B3 quartet covers complete public standing across declared classes and committed acts; this carrier still refuses historical authority it cannot represent.\n\nThe carrier retains `authenticated-standing@1` framing. Its proof commits to the original canonical signed lines. The proof's witness snapshot also commits, through `reference-export-context@1`, to semantic standing identity, epoch, proof scope, policy, form implementation, public signers, signature algorithms, the refusal-catalog digest, the standing-contract digest, and the declared byte and record budgets. Blob identity remains separate from semantic standing identity and source location.\n\nThe exported context is public data, not an authority anchor. A consumer independently accepts its keys, policy and interpretation contracts, then supplies these expectations to `inspectAuthenticatedReference`. When `contracts` is supplied, that existing API verifies the context snapshot before requesting bytes. Altering either contract digest or a resource budget invalidates that snapshot. Existing callers without the new context retain their 0.2.0 inspection contract; that compatibility does not assert verification of the added interpretation contracts.\n\n`/engine` remains pure. Exporting a reference does not select WASM, and B1 does not claim B2's backend composition. Signature, authority and context checks precede projection. `next` recommendations from `refusals.bound` grant no permission to execute, repair or sign.\n\n## Conformance quartet\n\n- Positive data: `samples/reference-export/yes.json`. The native test bootstraps a real Root with a disposable key and admits its cell and claim through `bound land`. It then executes this public signing command and verifies the result through the public reference API and unchanged engine.\n- Negative data: `samples/reference-export/no.json`. Changing a carrier byte refuses on blob integrity before projection.\n- Vector: `vectors/native/reference-export.vector.json`. It runs the tracked conformance test, which invokes the actual CLI for bootstrap, admission and export. No private runner or pre-signed fixture stands in for those operations.\n- Additional boundaries: changed contract identities, changed byte budget, invalid source, unauthorized key and invalid signer response. Export and refusal leave the real Root's TARGET and complete ledger inventory unchanged.\n\nCaptured semantic markers from the native run:\n\n```text\nEXPORT real-admission · contracts-bound · signatures-verified · REQUIRED · no commit\nREFUSE altered-carrier · blob integrity\n```\n\nKeys are generated outside the repository and discarded by the test. Captures contain no private key, local path or successful receipt for a failed export. Fixture preparation and each CLI invocation have their own existing bounds; the enclosing conformance runner's lifetime is not a cost claim for any individual reading. Release admission, portable release receipts and exact-artifact acceptance remain separate from this quartet.\n" at=witness:bound021-final-bindings by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-reference-export shape=docs/contracts/reference-export.md value=lock
|
|
10
|
-
bound-lock/1 about="# Native in-process host\n\nThe public `@lapxo/bound/host` entry offers authenticated Root and contextual standing reads, Root-lot and contextual-act admission, historical recovery, and explicit native instrument and receiver adapters. Node is required for this native host. The pure `/engine` and reference backends retain their separate contracts.\n\n## Classic Root lot\n\n`landRootLotInProcess(context, ports)` accepts LF-framed, canonical, unsigned target configuration records. The receiver supplies the admitted place, exact history snapshot, implementation runtime, reading identity, byte/record/time bounds, content port and canonical-line signer. The lot cannot choose those capabilities. It calls the same admission judges and atomic result implementation as the CLI; a signed line is not automatically an admitted line.\n\nThe snapshot is checked before acquisition and before admission. Coverage is checked before invoking the signer. A change while signing refuses instead of rebasing. A fresh repeated held lot does not acquire another signature. `rootLotSnapshot` names complete admission history; it is not a signature or permission.\n\n## Effects and recovery\n\nCancellation before visibility leaves no partial act. A publication error whose visibility is unknown returns `uncertain` with the native act identity. A failure after commit retains that identity and reports incomplete conformance, not rollback. `recoverRootActInProcess` authenticates the historical result without signing or reviving current grants. Root and contextual admission remain distinct operations; the latter consumes already signed contextual originals and acquires receiver receipts.\n\nThe host selects context explicitly on every call. Calls do not interpret consumer argv or print to its console. Diagnostics are bounded returned data. Native storage shares the CLI exclusion protocol. Returned reading commitments are unsigned data and do not pay release demands.\n\n## Public quartet\n\nThe two positive places are a seed accession library and a coastal tide survey. Each installs the public host boundary, bootstraps disposable fixture authority through the real CLI, admits a domain-specific Root lot, compares native result recovery and repeats the held lot without signing again. Negatives alter bytes, remove signer coverage, cancel before commit and offer a noncanonical lot; no negative may create a visible act. Test keys are created only for the disposable fixture, never shipped.\n\nThe executable vector captures the instrument output. The quartet proves this declared public boundary; it does not certify all remaining host views, another machine, a release policy or an owner admission.
|
|
13
|
+
bound-lock/1 about="# Native in-process host\n\nThe public `@lapxo/bound/host` entry offers authenticated Root and contextual standing reads, Root-lot and contextual-act admission, historical recovery, and explicit native instrument and receiver adapters. Node is required for this native host. The pure `/engine` and reference backends retain their separate contracts.\n\n## Classic Root lot\n\n`landRootLotInProcess(context, ports)` accepts LF-framed, canonical, unsigned target configuration records. The receiver supplies the admitted place, exact history snapshot, implementation runtime, reading identity, byte/record/time bounds, content port and canonical-line signer. The lot cannot choose those capabilities. It calls the same admission judges and atomic result implementation as the CLI; a signed line is not automatically an admitted line.\n\nThe snapshot is checked before acquisition and before admission. Coverage is checked before invoking the signer. A change while signing refuses instead of rebasing. A fresh repeated held lot does not acquire another signature. `rootLotSnapshot` names complete admission history; it is not a signature or permission.\n\n## Effects and recovery\n\nCancellation before visibility leaves no partial act. A publication error whose visibility is unknown returns `uncertain` with the native act identity. A failure after commit retains that identity and reports incomplete conformance, not rollback. `recoverRootActInProcess` authenticates the historical result without signing or reviving current grants. Root and contextual admission remain distinct operations; the latter consumes already signed contextual originals and acquires receiver receipts.\n\nThe host selects context explicitly on every call. Calls do not interpret consumer argv or print to its console. Diagnostics are bounded returned data. Native storage shares the CLI exclusion protocol. Returned reading commitments are unsigned data and do not pay release demands.\n\n## Public quartet\n\nThe two positive places are a seed accession library and a coastal tide survey. Each installs the public host boundary, bootstraps disposable fixture authority through the real CLI, admits a domain-specific Root lot, compares native result recovery and repeats the held lot without signing again. Negatives alter bytes, remove signer coverage, cancel before commit and offer a noncanonical lot; no negative may create a visible act. Test keys are created only for the disposable fixture, never shipped.\n\nThe executable vector captures the instrument output. The quartet proves this declared public boundary; it does not certify all remaining host views, another machine, a release policy or an owner admission. Algebra, wire and ceilings retain their existing contracts.\n\n## Consumer-owned persistent native host\n\n`await startNativeHost({place, instrument, expectedInstrument, limits, environment, signers?, scratchParent?})` starts one native dispatcher for one explicit place. `request({verb, args, signer?, inputs?}, signal?)` accepts `fold`, `sign` and `land`. It calls the same dispatcher, signer protocol, admission judges, exclusion and atomic publication as the CLI. A carrier never supplies a verifier, trust anchor or capability registry. `close()` aborts the active request and waits for cleanup. IPC disconnect also closes the host when the consumer dies; no daemon is installed.\n\nThe queue is finite. `requestBytes` bounds the aggregate queued request data, `queuedRequests` bounds request count, `responseBytes` bounds each response and `timeoutMs` bounds startup and triggers request cancellation. `heapMiB` selects Node's old-generation heap limit; it is not a claim about total operating-system RSS. Native file, capture and execution bounds remain those already declared by the place. The host refuses another instance for the same canonical place in one consumer; every act retains the existing cross-process CLI exclusion protocol. Calls never change the consumer's environment, cwd, arguments, console or exit status.\n\n`nativeHostEnvironment` removes all `NODE_` and `UV_` controls from the explicitly supplied environment. The fixed memory flag and actual sanitized environment belong to reading identity. CLI comparisons use that same boundary, rather than pretending that different execution environments have one identity. The host starts once; a query does not start another dispatcher.\n\nAn injected signer is selected by receiver key and declared mechanism name. Its callback remains in the consumer, receives only the canonical signing lot and cancellation signal, and uses the existing bounded signing port and signature verification. Signing never grants admission. Lost application responses are recovered by the original committed act identity; redelivery does not create another act.\n\n`inputs` contains uniquely named UTF-8 request files. Arguments name these files as `@input/<name>`. They are staged only in an owned request directory and removed after success, refusal or cancellation. Caller-owned places and arbitrary caller files are never deleted as scratch. Shutdown removes the owned host scratch directory. Before visibility, cancellation publishes no partial act; after visibility, the committed native identity remains historical evidence and is never represented as a rollback.\n\nThe response retains raw stdout, stderr and exit status. Identity/text, signatures, refusal catalog records and recovered canonical act records are compared byte for byte with CLI vectors. Independently measured elapsed-time diagnostics are retained as operational evidence, not normalized or presented as byte-identical measurements. Fresh verification is proportional to consumed bytes. The separate consumer acceptance measurement reports 1x, 10x and 100x, ten samples plus one warm-up, real clock/load, elapsed milliseconds per decimal MB and persistent growth; no constant-time property is claimed.\n\nEvery persistent request rereads current file and ledger bytes, including externally edited bytes with unchanged size and timestamps. The receiver-selected public instrument lock is checked again before dispatch; retained parsing never grants authority to a later request.\n\n## Installed pin, signer registry and foundation\n\n`installedHostInstrument(request, entry)` reuses `installedPackageIdentity` and returns the instrument with its installed-byte digest. Startup requires `expectedInstrument`, selected by the receiver from its admitted package pin. It verifies those bytes before and after child startup. Neither the archive digest nor a physical pathname substitutes for the installed identity; identical installations have the same digest.\n\n`signers` is a receiver-owned map indexed by key ID, with no fixed key count. Every signing request explicitly names its `signer`. The selected binding must match the lot key: a mismatch refuses with `host/signer-mismatch`, while a missing binding refuses with `host/unbound-signer`. Neither acquires another key or admits any record. The former single-binding option only registers that binding; it never selects a signer implicitly and does not limit the registry.\n\nCross-process land semantics are `serialize`: admitted-place requests acquire the existing native tree exclusion before preparing a lot. Two consumer processes commit in that order with consecutive epochs. There is no automatic rebase or retry, and the CLI uses the same native exclusion protocol.\n\nA birth directory containing only its public birth lock may be founded through `land`, using the classic bootstrap implementation and injected signer. Other operations refuse with `host/foundation-required` until foundation. An existing empty or unauthenticated store refuses with `host/foundation-state`; it is never overwritten or founded again. The executable vectors use two unrelated disposable places and compare signatures, founder ledgers and subsequent native closure with the CLI.\n\nAct-cost accounting starts separately for each request and includes all work in that request. Client idle time and earlier requests do not accumulate into a later act; no declared execution or observation is omitted from its own accounting.\n" at=witness:public-native-host-and-producer-coverage by=target form=alphabet measure=text role=writes scope=prose/en/files/native-host shape=docs/contracts/native-host.md value=lock
|
|
14
|
+
bound-lock/1 about="# Native probes\n\n`prepareNativeProbe` reads an explicit local `lines` or `evidence` form. Its result names the same identity and returns the same captured text as `prepareNativeViewIdentity`; it never falls back to folding an unsupported form. Expected identities use the existing native view identity contract. Foreign evidence without a transport snapshot refuses.\n\nThe consumer supplies a port coordinate, finite `probes` and `responseBytes` limits, an optional cancellation signal, and a counter `{used: new Map()}`. The consumer owns that counter and keeps it for the entire operation, sharing it across calls on the same port. Different ports have independent counts. Bound persists no counter, receipt, cache, memo or other probe state. Resetting a counter begins a new consumer operation; the counter is operational accounting, not a grant of authority.\n\nEach attempted captured reading consumes one probe even if identity validation or response size later refuses. Invalid forms, invalid limits, exhausted counters and already cancelled calls consume none. The place's admitted `reading-identity/probes` limit further reduces each port's available probes; the existing admitted byte and file budgets constrain the capture. The response byte limit covers the complete JSON fact. Cancellation is checked before capture and before returning its result. Capture is synchronous; cancellation from another event-loop task cannot preempt a synchronous capture.\n\nRepeated probes with unchanged committed inputs preserve the native view identity and every persisted byte. A consumer can verify this without deriving another identity: compare the supplied public native identity before and after its operation, and compare persisted byte inventories. Newly admitted evidence remains subject to the existing identity contract.\n\n## Declared native case inputs and outputs\n\nThe published yes/no JSON files are actual parameters read by `test/native-probes.test.ts`. Each native procedure retains its semantic assertions and unrelated disposable places. The vector invokes that procedure through the existing Node test reader. The input JSON declares exact case source strings and negative argument values; generated source, output and receipt bytes are read and checked by that same procedure. These public parameter fixtures contain no retained private authority history. Passing test output is not a real Root receipt or permission to admit a lot.\n" at=policy:consumer-native-contract by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-native-probes shape=docs/contracts/native-probes.md value=lock
|
|
15
|
+
bound-lock/1 about="# Native view identities in one observation\n\n`prepareNativeViewIdentities` from `@lapxo/bound/host` accepts an explicit place, receiver-selected native instrument, distinct supported view names and optional expected identities. It returns each view's identity and text together. The CLI exposes the same operation as `bound fold --as reading-identities@lines+evidence`.\n\nThe native projections currently supported are `lines` and `evidence`. An empty, repeated or unsupported selection refuses by name. This is a finite implementation capability, not a list of possible application regions. Executable and foreign-transport views retain their separate contracts.\n\nEach identity names that view's consumed inputs, current committed inventory, selected implementation, instrument configuration, environment and day boundary. The existing `native-view-inputs@1` framing is retained. Request order and the presence of another selected view do not alter a view's identity. A different execution environment can produce a different identity even when the text is identical.\n\nWithin one synchronous call, native preparations share captured source bytes and independently retain each view's input membership and admitted byte/file budgets. Every source is freshly verified before return. The admitted reading count bounds the selection. A batch does not persist a cache, execute an observed reader, call the general fold or acquire Root exclusion. Later calls capture their sources again.\n\nAn unsupported selection, exceeded budget, changed input, changed committed inventory or mismatched expected identity returns one typed refusal and no partial view results. Identity and text belong to the same successful observation. Existing single-view host and CLI routes remain available.\n\nThe native vector checks two unrelated admitted places, both public projections, request reordering, stable repetition, expected-identity refusal, source invalidation, writer exclusion and a complete persisted-byte inventory. A changed source during shared capture refuses before return. Performance is measured separately; this contract promises no constant-time query or unmeasured speed ratio.\n\n## Declared native case inputs and outputs\n\nThe published yes/no JSON files are actual parameters read by `test/native-view-batch.test.ts`. Each native procedure retains its semantic assertions and unrelated disposable places. The vector invokes that procedure through the existing Node test reader. The input JSON declares exact case source strings and negative argument values; generated source, output and receipt bytes are read and checked by that same procedure. These public parameter fixtures contain no retained private authority history. Passing test output is not a real Root receipt or permission to admit a lot.\n" at=policy:consumer-native-contract by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-native-view-batch shape=docs/contracts/native-view-batch.md value=lock
|
|
16
|
+
bound-lock/1 about="# Physical lines and reading witnesses\n\nThe host adapter `readPlacePhysicalLines` reads every regular file inside explicitly named inventory boundaries. It has no implicit exclusions. Files outside every selected region are returned by name in `stray`. Missing selectors remain unmeasured by scope and selector, including a missing selector beside another selector that matched. Links, special files, incomplete inventories and exhausted resources cannot produce a complete reading.\n\nCounts, selectors and finite region valuation delegate to Topos `readPhysicalLines`. Empty files contain zero physical lines. Blank and comment lines count; LF and CRLF delimit lines; an unterminated final line counts. Isolated carriage returns and invalid UTF-8 refuse. Overlapping regions retain Topos overlap evidence and are never certified disjoint by this adapter.\n\n`physicalLinesRegions` projects selectors from the consuming place's already admitted standing. A `core/lines` interval reads the `region/core` coordinates declaration. Other region names follow the same rule. No application or directory family is built into the adapter. The caller must choose and authorize the finite inventory boundaries and resource policy.\n\n`judgePhysicalLines` delegates interval thresholds to the existing Bound `foldCeilings` and policy widening to `widenedWithoutWitness`. It accepts `lines` and `file-lines`; file observations retain their actual coordinate. Over-ceiling observations or unauthenticated widening produce `BLOCK`. Missing selection or stray files produce `UNMEASURED`. No declared line ceiling produces `UNMEASURED`.\n\nReading witness syntax is Topos `topos-reading-witness/1`. Every reading, model, input, selection, unit, scale, resolution, reader, implementation, context, run and result field must match this actual reading. Actual reading handles are immutable and local to the host process; parsing a serialized reading cannot recreate a trusted handle.\n\nThe consuming host supplies `PhysicalLinesWitnessAuthority` from its admitted current producer policy and evidence verifier. Key evidence must match the declared key and coverage. CI evidence must match repository, commit, workflow, run and attempt before proof verification is invoked. The proof port must authenticate evidence over the exact Topos statement bytes. Neither a URL nor valid syntax establishes authority. The adapter supplies no default trust rule, key store, network provenance lookup, admission, persistence, signing or publication.\n\nAfter successful proof verification, `authenticatePhysicalLinesWitness` returns the exact `attest:sha256:...` coordinate that a proposed widening must name. A coordinate with the right prefix, without verified matching evidence, remains blocked. Integrating the adapter into an owner-authorized landing transaction remains the consuming host's responsibility; `READY` is a native judgment, not a persisted landing or admission.\n\n## Declared native case inputs and outputs\n\nThe published yes/no JSON files are actual parameters read by `test/physical-lines-place.test.ts`. Each native procedure retains its semantic assertions and unrelated disposable places. The vector invokes that procedure through the existing Node test reader. The input JSON declares exact case source strings and negative argument values; generated source, output and receipt bytes are read and checked by that same procedure. These public parameter fixtures contain no retained private authority history. Passing test output is not a real Root receipt or permission to admit a lot.\n" at=policy:consumer-native-contract by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-physical-lines shape=docs/contracts/physical-lines.md value=lock
|
|
17
|
+
bound-lock/1 about="# Profile composition and release categories\n\n`composeProfile` prepares an authenticated lot without admission or persistence. It reads Topos `topos-profile-composition/1` records, resolves every parent from its exact SHA-256 digest and delegates form composition to Topos. The digest preimage is the canonical profile line followed by one newline.\n\nA parent record supplies declarations, never authority. Each inherited and local field requires exactly one original signed statement whose scope, role, form, measure and value match its selected binding and whose `restsOn` names the exact profile digest containing it. The current consumer lock supplies admitted signers, signature algorithms, windows and region coverage through Bound's existing authority evaluator. No parent can grant a signer coverage.\n\nNarrowing and additions require those signatures. Interval and alphabet widening use Bound's existing widening judge: the authorized statement must carry the witness-class `at` selected by the consumer's wire. A parsed Topos reading-witness record alone does not satisfy this rule. This is the existing admission witness convention, not independent verification of scientific provenance. Preparation does not pay inertness, observations, admission gates or owner receipts; ordinary admission remains required.\n\n`releaseCategoryPins` selects exact artifact lines by declared category, class, scope, role and digest measure. It accepts only alphabet digest bindings. It never selects a numeric code ceiling, and has no package-family prefix list. `composeProfile` selects category lines from the same authenticated statement set. Callers of the standalone selector must supply already authenticated standing. Dependency, vocabulary and source archive categories can each declare their own exact scopes.\n\nMissing and ambiguous categories refuse as `release/category-missing` and `release/category-ambiguous`; absent, ambiguous and mismatched artifact bindings refuse as `release/pin-missing`, `release/pin-ambiguous` and `release/pin-integrity`. A class mismatch refuses as `release/category-class`. Profile authority, widening and unresolved parents refuse as `profile/authority-required`, `profile/widening-witness-required` and `profile/missing-parent`. Topos record/integrity refusals preserve their existing named causes.\n\nThe returned lines retain inherited evidence and local statements; they are a preparation result, not a claim that an authorized widening erased an ancestor's meet constraint. Topos' declared composition remains authoritative for the effective intersection. Applications that intend a revision must use the ordinary admission flow to revise standing explicitly.\n\n## Declared native case inputs and outputs\n\nThe published yes/no JSON files are actual parameters read by `test/profile-composition.test.ts`. Each native procedure retains its semantic assertions and unrelated disposable places. The vector invokes that procedure through the existing Node test reader. The input JSON declares exact case source strings and negative argument values; generated source, output and receipt bytes are read and checked by that same procedure. These public parameter fixtures contain no retained private authority history. Passing test output is not a real Root receipt or permission to admit a lot.\n" at=policy:consumer-native-contract by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-profile-composition shape=docs/contracts/profile-composition.md value=lock
|
|
11
18
|
bound-lock/1 about="# Public host ports\n\n`/engine` and `/reference` export `readContent`, `retainContent` and `invokeSigningPort`, with `ContentReadPort`, `PersistencePort`, `SigningPort`, `DigestPort` and `PortLimits`. There is no default network, store, account or signer. `objectFold` remains pure and never calls a port.\n\nEvery operation takes an explicit positive safe-integer `timeoutMs` and `maxBytes`, and an optional AbortSignal. Invalid limits and pre-cancellation refuse before the callback. Acquisition, digest calculation and retention share the operation lifetime. A timeout aborts the supplied signal and returns no successful result. This is a cooperative host boundary, not preemption of synchronous JavaScript or sandbox confinement.\n\n`readContent(source, digest, ports, limits, signal)` invokes the supplied read callback and SHA-256 callback, checks byte bounds before copying/hashing, rejects shared buffers, and verifies an owned snapshot against the requested digest. Location carries no authority.\n\n`retainContent(digest, bytes, ports, limits, signal)` checks identity before calling the host's atomic byte-retention callback. Its acknowledgement contains only digest and byte count. It is not a signed receipt, admission or permission to reuse a response. The host must implement atomic retention and cooperate with cancellation. A callback that ignores cancellation may finish retaining bytes after the caller has refused; no success, act or authority follows from those bytes. Opening and projection never retain automatically.\n\n`invokeSigningPort(lot, sign, limits, signal)` uses the existing Topos signing request/response framing. It acquires protocol-shaped signatures; it does not decide authority or certify them cryptographically. Native export can receive `hostSigner: {name, sign}` through `/reference/native`. The name must match the admitted signer selection, and cannot be combined with a key-file override. The existing consent path verifies every returned signature against the admitted key, era, scope and epoch before returning a carrier. No key material enters the engine.\n\nNative opening accepts `content: {name, read}`. Its name must match the admitted transport selection, with that selection's existing byte and lifetime bounds. The host callback cannot be chosen by a carrier, reference or repository. The existing inspector verifies the returned carrier again and the selected backend projects only verified records. There is no backend fallback.\n\nPublic port failures use the machine refusal catalog: `host-port/budget`, `cancelled`, `timeout`, `failed`, `integrity`, `response`. Native acquisition failures retain their enclosing reference refusal. Host diagnostics are not returned as authority or parsed as codes.\n\nNative vector output, in two real admitted places:\n\n```text\nPORTS owned content · verified retention · signer content persistence failures · budget integrity cancellation timeout refused\nHOST host-sensor · declared signer and content injected · real signature verified · wrong binding refused · no commit\nHOST host-editorial · declared signer and content injected · real signature verified · wrong binding refused · no commit\n```\n" at=witness:bound021-final-bindings by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-host-ports shape=docs/contracts/host-ports.md value=lock
|
|
12
|
-
bound-lock/1 about="# Public reading identity\n\n`prepareNativeReadingIdentity` from `@lapxo/bound/host` prepares the adopted input-projection readings of an authenticated place. `fold --as reading-identity` calls that same operation. This contract covers adopted input-projection readings; other reading forms refuse.\n\nThe receiver supplies the place, explicit native instrument, optional adopted reader selector, finite resource limits and cancellation signal. The place must declare one interval `0..N` for each of `reading-identity/bytes`, `/files`, `/readings` and `/probes`. Caller limits can reduce these bounds. They count handed UTF-8 input bytes, handed files, projected reading plans and input-projection requests across the selected readers; native image, response and execution limits also remain in force. The projection request is a probe, even when its implementation reuses a valid result. It is separate from final reading execution.\n\nA fact contains preparations with ready reading identities or named unpaid receipt dependencies. Each ready entry gives its scope, canonical `reading-context@1` and digest. When a verified existing carrier is available it also gives the `reading-receipt@1` digest. A missing physical input produces `needs`; a dependent reading without its predecessor's verified receipt stays open. No complete digest is invented for an unpaid dependency. These names are supplied by the selected world's projection; application region names are not built into Bound.\n\nPreparation uses the same projection, dependency order, contextual framing, transitive instrument inputs, policy, effective environment and carrier verification as execution. It can run the declared input projection under its native port. It never runs the final reading, signs, admits an act, renders public receipts or renews a reading receipt. Operational image/cache maintenance is separate. A subsequent execution under identical inputs and context commits the same identity; preparation does not reserve that identity or authorize a future answer.\n\nInstrument, implementation, policy, transitive inputs and the actual environment participate under the existing Topos contracts. Current-answer authorization also retains the existing principal, grant, snapshot and freshness checks when that profile is selected. Retained evidence grants no current authority. Environment values are committed by digest, not exposed as secret strings. Receipt identity and typed-content identity remain distinct.\n\nRelevant input or dependency changes produce another identity. Unconsumed maintenance does not. Bytes stored under a digest must verify; altered selected bytes or carriers refuse rather than becoming an alternative identity. The existing execution path may recompute an invalid retained answer; public inspection refuses a corrupt carrier. Missing bytes and failed integrity are different outcomes.\n\nRefusals are typed data from the public API: `reading-identity/context`, `/budget`, `/selection`, `/projection`, `/integrity`, `/failed`, and the existing `host/context`, `/budget`, `/cancelled`. A non-projection reader is unsupported, not silently executed. Cancellation and handed-input budgets are checked before the projection; native process budgets remain authoritative during execution. Synchronous projection cannot observe a JavaScript abort callback while it occupies the host thread; its declared native timeout still bounds that work.\n\n## Quartet\n\nThe native test forms two unrelated disposable admitted places, counts and catalogue. Counts reads a physical file. Catalogue adds a dependent aggregate. Both use receiver-selected native images and the real CLI; a separate consumer imports the compiled public `/host` export. Preparation leaves final reading receipts absent; execution commits the same identity; subsequent preparation verifies existing receipts without changing the public receipt file. Catalogue's aggregate is open until the leaf receipt exists.\n\nThe negative places retain a receipt but withdraw the current native grant, and alter the archive bytes under their selected digest. Both refuse. Focused vectors also cover missing physical input, changed dependency, stale handed bytes, cancellation, resource exhaustion and unrelated maintenance. Existing environment, authority and descendant-receipt vectors remain applicable and are reused.\n\nTwo places on this Mac do not establish another-machine portability. L6 stays pending. This quartet neither admits Root's new reader bindings nor certifies the full 0.2.5 release.\n\n## Native lines and evidence\n\n`prepareNativeViewIdentity({place, instrument, view, expectedIdentity?})` from `@lapxo/bound/host` prepares the local native `lines` or `evidence` projection. `fold --as reading-identity@lines` and `fold --as reading-identity@evidence` print its identity without the result text. `fold --as reading-identity@lines@<digest>` (or `reading-identity@evidence@<digest>`) returns JSON with `kind`, `view`, `identity` and `text`. The text and identity use the same captured inputs; an obsolete expected identity returns no result. Ordinary views keep their existing output and require no reading-identity budgets.\n\nThis operation performs configuration authentication and projection, not the region fold, executable readings or source resolution. It takes no Root exclusion and performs no persistent writes. One synchronous committed-journal observation fixes native acts; selected legacy sources are captured by exact bytes and checked again. Changed committed inputs, selected bytes, effective environment or expiration day refuse rather than publishing a mixed result. No lease reserves a later answer: the caller supplies the expected identity when requesting the result.\n\nIdentity commits the native view, local place, authenticated configuration, selected authority/evidence histories and source bytes (including selected receipt inputs), exact implementation closure and instrument lock, effective runtime/environment, and UTC expiration-policy day. Input names and values are framed; no consumer directory fingerprint is accepted. Unconsumed fold caches, stamp memos and exclusion bookkeeping do not participate. The local execution identity is distinct from portable semantic standing identity.\n\nThe existing admitted preparation limits remain required for identity requests; inputs and implementation sources count against their byte/file budgets. Preparation does not execute projection probes or final readings. Only unqualified local native lines and a single unshaped native evidence view are supported. Foreign evidence needing an asynchronous transport snapshot and unsupported views refuse by name. No fallback executes their fold.\n\nExisting catalog codes apply: `reading-identity/selection` for unsupported selections, `reading-identity/context` for changed or mismatched snapshots, `reading-identity/budget` for missing/exhausted limits, and `reading-identity/failed` for unavailable implementation inputs. Public CLI machine records carry those codes.\n\nSeven native vectors cover repeated identity, added evidence, changed configuration, unchanged fold maintenance, distinct places, unsupported selections and identity-to-result binding with a stale refusal. Both unrelated places also answer while a Root writer holds exclusion; complete store comparison verifies no writes. Existing view/landing behavior without identity budgets is retained. These vectors do not establish L6.\n" at=policy:native-view-selector by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-reading-identity shape=docs/contracts/reading-identity.md value=lock
|
|
13
|
-
bound-lock/1 about="# Public refusal catalog\n\nSource of truth: `refusals.bound` (`bound-refusals@1`), read through the existing wire parser. `readRefusalCatalog` and `describeRefusal` are exported from `/reference`; resolve `@lapxo/bound/refusals` for the published lines. The digest of these exact lines is bound into the authenticated reference context.\n\n`BoundRefusal.code` is stable; diagnostic text is not a code. Native CLI refusals retain the diagnostic and emit a `bound-refusal@1` JSON record with code, category, meaning, next and catalog digest. Recommendations grant no authority and execute nothing. If the installed catalog cannot be read or validated, the CLI emits `catalog/invalid` with metadata explicitly `unmeasured`; it never fabricates a catalog digest or recursively formats that failure. A consumer checks the catalog bytes against its independently accepted context digest before parsing; parsing alone proves no authority. Legacy operations without a specific public code use `operation/failed`; no diagnostic is classified by regex. This does not claim a distinct code for every historical diagnostic. Successful four-state results remain results, never refusal codes.\n\n| Code | Class | Meaning | Suggested next |\n| --- | --- | --- | --- |\n| reference-export/source | input | The source URL is not a canonical standing-reference location. | check-source |\n| reference-export/context | interpretation | Required admitted export policy or exact contract bytes are missing or conflicting. | inspect-standing |\n| reference-export/budget | resource | The export exceeds or lacks its explicitly declared record or byte budget. | inspect-resource-lines |\n| reference-export/authority | authority | The selected key is not authorized for the snapshot proof at this epoch. | inspect-authority |\n| reference-export/signer | host | The selected signer failed or returned a signature that does not verify. | inspect-signer |\n| reference-export/history | authority | The current carrier profile cannot represent this historical authority; no original is silently removed. | inspect-standing-contract |\n| catalog/invalid | interpretation | The refusal catalog is malformed, duplicated or incomplete. | resolve-catalog |\n| reference/format | input | The reference has an unsupported or noncanonical shape. | check-reference |\n| standing/view | interpretation | The place has not declared the public standing view. | declare-standing-view |\n| standing/query | input | Standing accepts only the local committed projection. | query-local-standing |\n| reference-export/usage | input | Reference export requires exactly one source and explicit signing options. | check-export-arguments |\n| authenticated-reference/context | interpretation | The supplied interpretation context or snapshot binding is inconsistent. | resolve-public-context |\n| authenticated-reference/budget | resource | The declared record or byte budget is invalid or exceeded. | inspect-resource-lines |\n| authenticated-reference/transport | host | The content port failed or returned shared mutable bytes. | inspect-content-port |\n| authenticated-reference/integrity | integrity | Carrier bytes or the snapshot commitment differ from their declared digest. | resolve-exact-bytes |\n| authenticated-reference/framing | input | The carrier is not the canonical supported UTF-8 frame. | check-carrier |\n| authenticated-reference/wire | input | An original record is not canonical supported wire. | check-original-records |\n| authenticated-reference/authority | authority | The proof or an original lacks admitted authority under the supplied context. | inspect-authority |\n| authenticated-reference/history | interpretation | This carrier profile cannot authenticate configuration withdrawal history. | request-admitted-standing |\n| authenticated-reference/object-context | interpretation | The existing object validator refused the declared form or context. | inspect-object-context |\n| authenticated-reference/identity | integrity | The semantic standing differs from the reference identity. | resolve-standing |\n| operation/failed | host | An operation failed without a more specific public code; details are diagnostic only. | inspect-diagnostic |\n| operation/usage | input | The command arguments do not describe a supported public operation. | check-arguments |\n| reference/backend | interpretation | The host did not select a supported explicit reference backend. | select-reference-backend |\n| reference/cancelled | host | The opening was interrupted before a complete result. | inspect-interruption |\n| host-port/budget | resource | A host port lacks a valid finite budget or exceeds its byte bound. | inspect-resource-lines |\n| host-port/cancelled | host | A host operation was cancelled before a complete result. | inspect-interruption |\n| host-port/timeout | host | A host operation exceeded its declared lifetime. | inspect-host-port |\n| host-port/failed | host | A declared host callback failed; no successful result is returned. | inspect-host-port |\n| host-port/integrity | integrity | Content bytes differ from the requested SHA-256 identity. | resolve-exact-bytes |\n| host-port/response | host | A host response has an unsupported shape or shared mutable bytes. | inspect-host-port |\n| reading-identity/context | interpretation | The reading lacks its complete declared execution context. | inspect-reading-context |\n| reading-identity/budget | resource | The place lacks one finite declared preparation limit. | inspect-resource-lines |\n| reading-identity/selection | interpretation | The requested reader is not adopted by this place. | inspect-reader-selection |\n| reading-identity/projection | interpretation | The adopted reader has no supported input projection. | declare-input-projection |\n| reading-identity/integrity | input | Current input or retained carrier bytes differ from their committed bytes. | resolve-verified-bytes |\n| reading-identity/failed | operation | The existing native preparation boundary refused; the diagnostic retains its cause. | inspect-native-diagnostic |\n| engine/input | input | The object byte request is not a supported canonical profile. | inspect-request |\n| engine/context | interpretation | The receiver-selected context does not admit the requested object history. | inspect-context |\n| computation/context | interpretation | The question, implementation, policy, input or result does not match the receiver-selected computation context. | inspect-context |\n| computation/budget | resource | The computation lacks or exceeds its declared byte or execution budget. | inspect-resource-lines |\n| computation/signature | authority | The computation signature does not verify with the receiver-selected signer. | inspect-signer |\n| computation/authority | authority | The selected computation signer is absent, retired or outside coverage. | inspect-authority |\n| conformance/context | interpretation | The receiver supplied missing or invalid suite, implementation or contract identities. | inspect-context |\n| conformance/budget | resource | The suite exceeds its declared byte or case budget. | inspect-resource-lines |\n| conformance/coverage | interpretation | The suite omits a required rule or refusal, or names undeclared coverage. | complete-suite |\n| conformance/integrity | integrity | The supplied suite bytes do not match the digest chosen by the receiver. | verify-suite-bytes |\n| conformance/suite | input | The suite is malformed, empty, duplicated or uses an unsupported byte profile. | inspect-suite |\n\n```text\nREFUSALS lines · unique codes · exact metadata · duplicate refused\n```\n\nSpecific producers cover reference syntax, standing query/view, native export usage/source/context/budget/authority/signer/history, and authenticated inspection context/budget/transport/integrity/framing/wire/authority/history/object-context/identity. Numeric CLI usage and uncoded legacy failures use the explicitly generic codes above; diagnostics remain unclassified. Additional public operations may add codes only by changing these versioned contract bytes and their vectors.\n" at=policy:public-build-conformance by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-refusals shape=docs/contracts/refusals.md value=lock
|
|
14
|
-
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:
|
|
19
|
+
bound-lock/1 about="# Public reading identity\n\n`prepareNativeReadingIdentity` from `@lapxo/bound/host` prepares the adopted input-projection readings of an authenticated place. `fold --as reading-identity` calls that same operation. This contract covers adopted input-projection readings; other reading forms refuse.\n\nThe receiver supplies the place, explicit native instrument, optional adopted reader selector, finite resource limits and cancellation signal. The place must declare one interval `0..N` for each of `reading-identity/bytes`, `/files`, `/readings` and `/probes`. Caller limits can reduce these bounds. They count handed UTF-8 input bytes, handed files, projected reading plans and input-projection requests across the selected readers; native image, response and execution limits also remain in force. The projection request is a probe, even when its implementation reuses a valid result. It is separate from final reading execution.\n\nA fact contains preparations with ready reading identities or named unpaid receipt dependencies. Each ready entry gives its scope, canonical `reading-context@1` and digest. When a verified existing carrier is available it also gives the `reading-receipt@1` digest. A missing physical input produces `needs`; a dependent reading without its predecessor's verified receipt stays open. No complete digest is invented for an unpaid dependency. These names are supplied by the selected world's projection; application region names are not built into Bound.\n\nPreparation uses the same projection, dependency order, contextual framing, transitive instrument inputs, policy, effective environment and carrier verification as execution. It can run the declared input projection under its native port. It never runs the final reading, signs, admits an act, renders public receipts or renews a reading receipt. Operational image/cache maintenance is separate. A subsequent execution under identical inputs and context commits the same identity; preparation does not reserve that identity or authorize a future answer.\n\nInstrument, implementation, policy, transitive inputs and the actual environment participate under the existing Topos contracts. Current-answer authorization also retains the existing principal, grant, snapshot and freshness checks when that profile is selected. Retained evidence grants no current authority. Environment values are committed by digest, not exposed as secret strings. Receipt identity and typed-content identity remain distinct.\n\nRelevant input or dependency changes produce another identity. Unconsumed maintenance does not. Bytes stored under a digest must verify; altered selected bytes or carriers refuse rather than becoming an alternative identity. The existing execution path may recompute an invalid retained answer; public inspection refuses a corrupt carrier. Missing bytes and failed integrity are different outcomes.\n\nRefusals are typed data from the public API: `reading-identity/context`, `/budget`, `/selection`, `/projection`, `/integrity`, `/failed`, and the existing `host/context`, `/budget`, `/cancelled`. A non-projection reader is unsupported, not silently executed. Cancellation and handed-input budgets are checked before the projection; native process budgets remain authoritative during execution. Synchronous projection cannot observe a JavaScript abort callback while it occupies the host thread; its declared native timeout still bounds that work.\n\n## Quartet\n\nThe native test forms two unrelated disposable admitted places, counts and catalogue. Counts reads a physical file. Catalogue adds a dependent aggregate. Both use receiver-selected native images and the real CLI; a separate consumer imports the compiled public `/host` export. Preparation leaves final reading receipts absent; execution commits the same identity; subsequent preparation verifies existing receipts without changing the public receipt file. Catalogue's aggregate is open until the leaf receipt exists.\n\nThe negative places retain a receipt but withdraw the current native grant, and alter the archive bytes under their selected digest. Both refuse. Focused vectors also cover missing physical input, changed dependency, stale handed bytes, cancellation, resource exhaustion and unrelated maintenance. Existing environment, authority and descendant-receipt vectors remain applicable and are reused.\n\nTwo local places do not establish cross-machine conformance. This quartet neither admits Root reader bindings nor certifies a complete release.\n\n## Native lines and evidence\n\n`prepareNativeViewIdentity({place, instrument, view, expectedIdentity?})` from `@lapxo/bound/host` prepares the local native `lines` or `evidence` projection. `fold --as reading-identity@lines` and `fold --as reading-identity@evidence` print its identity without the result text. `fold --as reading-identity@lines@<digest>` (or `reading-identity@evidence@<digest>`) returns JSON with `kind`, `view`, `identity` and `text`. The text and identity use the same captured inputs; an obsolete expected identity returns no result. Ordinary views keep their existing output and require no reading-identity budgets.\n\nThis operation performs configuration authentication and projection, not the region fold, executable readings or source resolution. It takes no Root exclusion and performs no persistent writes. One synchronous committed-journal observation fixes native acts; selected legacy sources are captured by exact bytes and checked again. Changed committed inputs, selected bytes, effective environment or expiration day refuse rather than publishing a mixed result. No lease reserves a later answer: the caller supplies the expected identity when requesting the result.\n\nIdentity commits the native view, local place, authenticated configuration, selected authority/evidence histories and source bytes (including selected receipt inputs), exact implementation closure and instrument lock, effective runtime/environment, and UTC expiration-policy day. Input names and values are framed; no consumer directory fingerprint is accepted. Unconsumed fold caches, stamp memos and exclusion bookkeeping do not participate. The local execution identity is distinct from portable semantic standing identity.\n\n### Writes and derived storage\n\nThe following classification applies to the declared native `lines` and `evidence` views. A path is not an authority boundary: selected bytes still participate wherever they are stored.\n\n| Write | Participates in the next identity | Reason |\n| --- | --- | --- |\n| Admitted declarations and authority changes | Yes | Authentication and effective declarations consume them. |\n| Admitted evidence, including consumed receipt or blob bytes | Yes when consumed by the selected view | A new observation changes what that view reads. |\n| Unconsumed maintenance: `.bound/cas/memo/`, `.bound/ledger/fold.bound`, `.bound/locks/` | No | These are derived caches or exclusion bookkeeping, not selected inputs. |\n\nThe CAS blob directory is not excluded as a whole. A selected blob or receipt must verify against its committed digest; corruption refuses. A probe that adds no evidence preserves identity. Executing a reading that admits evidence may change it. Consumers request the public identity instead of reconstructing it from this table or scanning directories.\n\nIdentity inspection is not promised constant-time over arbitrary mutable storage. Its measurement separates process startup, authentication, input capture, identity framing and result projection; a reused identity must still verify the inputs committed by its contract.\n\nThe existing admitted preparation limits remain required for identity requests; inputs and implementation sources count against their byte/file budgets. Preparation does not execute projection probes or final readings. Only unqualified local native lines and a single unshaped native evidence view are supported. Foreign evidence needing an asynchronous transport snapshot and unsupported views refuse by name. No fallback executes their fold.\n\nExisting catalog codes apply: `reading-identity/selection` for unsupported selections, `reading-identity/context` for changed or mismatched snapshots, `reading-identity/budget` for missing/exhausted limits, and `reading-identity/failed` for unavailable implementation inputs. Public CLI machine records carry those codes.\n\nSeven native vectors cover repeated identity, added evidence, changed configuration, unchanged fold maintenance, distinct places, unsupported selections and identity-to-result binding with a stale refusal. Both unrelated places also answer while a Root writer holds exclusion; complete store comparison verifies no writes. Existing view/landing behavior without identity budgets is retained. These vectors do not establish cross-machine conformance.\n\n## Repeated unchanged queries\n\nFor the declared local native `lines` and `evidence` projections, repeated queries without changed consumed inputs preserve both identity and exact result text and write no persistent files or bytes. This includes the first query and every CAS/memo and ledger file, without exclusions, garbage collection or a consumer-maintained cache key. This guarantee does not cover final reading execution, other view forms or storage written by an embedding application. The consumer retains its own query counter.\n\nThe executable protocol queries each view eight times in two unrelated admitted places, compares the complete persisted tree after every query and reports file/byte counts. A deliberately writing stub is rejected by the same tree comparison. The fixtures use disposable authority, and this protocol does not inspect unrelated consumer stores or claim to resolve their storage incidents. No GC, LRU, storage-size policy or constant-time claim is introduced.\n\nThe quartet also checks that receipt-only projection and the byte-only sealer cannot close an obsolete declared output after an admitted source change. The normal native fold renders current bytes before sealing, as specified in the publication contract. This applies to every declared output shape, without application-specific selectors.\n\nThe rendered-leaf vector also projects two manifest-selected public subsets. Each keeps the declared view capabilities while omitting one source-only output. The same native renderer accepts those subsets, refuses a missing or altered selected leaf and preserves the default full-place refusal. Selection is captured before copying a closed source; it is never inferred from file absence.\n" at=witness:materialized-output-boundary by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-reading-identity shape=docs/contracts/reading-identity.md value=lock
|
|
20
|
+
bound-lock/1 about="# Public refusal catalog\n\nSource of truth: `refusals.bound` (`bound-refusals@1`), read through the existing wire parser. `readRefusalCatalog` and `describeRefusal` are exported from `/reference`; resolve `@lapxo/bound/refusals` for the published lines. The digest of these exact lines is bound into the authenticated reference context.\n\n`BoundRefusal.code` is stable; diagnostic text is not a code. Native CLI refusals retain the diagnostic and emit a `bound-refusal@1` JSON record with code, category, meaning, next and catalog digest. Recommendations grant no authority and execute nothing. If the installed catalog cannot be read or validated, the CLI emits `catalog/invalid` with metadata explicitly `unmeasured`; it never fabricates a catalog digest or recursively formats that failure. A consumer checks the catalog bytes against its independently accepted context digest before parsing; parsing alone proves no authority. Legacy operations without a specific public code use `operation/failed`; no diagnostic is classified by regex. This does not claim a distinct code for every historical diagnostic. Successful four-state results remain results, never refusal codes.\n\nProducer is read from the existing `by` field in each catalog code record: `bound` names Bound and `topos` names Topos. These are source declarations, not signature or admission grants. The two Topos card result codes retain their native next actions; no consumer application producer is inferred.\n\n| Code | Class | Meaning | Suggested next | Producer |\n| --- | --- | --- | --- | --- |\n| reference-export/source | input | The source URL is not a canonical standing-reference location. | check-source | bound |\n| reference-export/context | interpretation | Required admitted export policy or exact contract bytes are missing or conflicting. | inspect-standing | bound |\n| reference-export/budget | resource | The export exceeds or lacks its explicitly declared record or byte budget. | inspect-resource-lines | bound |\n| reference-export/authority | authority | The selected key is not authorized for the snapshot proof at this epoch. | inspect-authority | bound |\n| reference-export/signer | host | The selected signer failed or returned a signature that does not verify. | inspect-signer | bound |\n| reference-export/history | authority | The current carrier profile cannot represent this historical authority; no original is silently removed. | inspect-standing-contract | bound |\n| catalog/invalid | interpretation | The refusal catalog is malformed, duplicated or incomplete. | resolve-catalog | bound |\n| reference/format | input | The reference has an unsupported or noncanonical shape. | check-reference | bound |\n| standing/view | interpretation | The place has not declared the public standing view. | declare-standing-view | bound |\n| standing/query | input | Standing accepts only the local committed projection. | query-local-standing | bound |\n| reference-export/usage | input | Reference export requires exactly one source and explicit signing options. | check-export-arguments | bound |\n| authenticated-reference/context | interpretation | The supplied interpretation context or snapshot binding is inconsistent. | resolve-public-context | bound |\n| authenticated-reference/budget | resource | The declared record or byte budget is invalid or exceeded. | inspect-resource-lines | bound |\n| authenticated-reference/transport | host | The content port failed or returned shared mutable bytes. | inspect-content-port | bound |\n| authenticated-reference/integrity | integrity | Carrier bytes or the snapshot commitment differ from their declared digest. | resolve-exact-bytes | bound |\n| authenticated-reference/framing | input | The carrier is not the canonical supported UTF-8 frame. | check-carrier | bound |\n| authenticated-reference/wire | input | An original record is not canonical supported wire. | check-original-records | bound |\n| authenticated-reference/authority | authority | The proof or an original lacks admitted authority under the supplied context. | inspect-authority | bound |\n| authenticated-reference/history | interpretation | This carrier profile cannot authenticate configuration withdrawal history. | request-admitted-standing | bound |\n| authenticated-reference/object-context | interpretation | The existing object validator refused the declared form or context. | inspect-object-context | bound |\n| authenticated-reference/identity | integrity | The semantic standing differs from the reference identity. | resolve-standing | bound |\n| operation/failed | host | An operation failed without a more specific public code; details are diagnostic only. | inspect-diagnostic | bound |\n| operation/usage | input | The command arguments do not describe a supported public operation. | check-arguments | bound |\n| reference/backend | interpretation | The host did not select a supported explicit reference backend. | select-reference-backend | bound |\n| reference/cancelled | host | The opening was interrupted before a complete result. | inspect-interruption | bound |\n| host-port/budget | resource | A host port lacks a valid finite budget or exceeds its byte bound. | inspect-resource-lines | bound |\n| host-port/cancelled | host | A host operation was cancelled before a complete result. | inspect-interruption | bound |\n| host-port/timeout | host | A host operation exceeded its declared lifetime. | inspect-host-port | bound |\n| host-port/failed | host | A declared host callback failed; no successful result is returned. | inspect-host-port | bound |\n| host-port/integrity | integrity | Content bytes differ from the requested SHA-256 identity. | resolve-exact-bytes | bound |\n| host-port/response | host | A host response has an unsupported shape or shared mutable bytes. | inspect-host-port | bound |\n| reading-identity/context | interpretation | The reading lacks its complete declared execution context. | inspect-reading-context | bound |\n| reading-identity/budget | resource | The place lacks one finite declared preparation limit. | inspect-resource-lines | bound |\n| reading-identity/selection | interpretation | The requested reader is not adopted by this place. | inspect-reader-selection | bound |\n| reading-identity/projection | interpretation | The adopted reader has no supported input projection. | declare-input-projection | bound |\n| reading-identity/integrity | input | Current input or retained carrier bytes differ from their committed bytes. | resolve-verified-bytes | bound |\n| reading-identity/failed | operation | The existing native preparation boundary refused; the diagnostic retains its cause. | inspect-native-diagnostic | bound |\n| engine/input | input | The object byte request is not a supported canonical profile. | inspect-request | bound |\n| engine/context | interpretation | The receiver-selected context does not admit the requested object history. | inspect-context | bound |\n| computation/context | interpretation | The question, implementation, policy, input or result does not match the receiver-selected computation context. | inspect-context | bound |\n| computation/budget | resource | The computation lacks or exceeds its declared byte or execution budget. | inspect-resource-lines | bound |\n| computation/signature | authority | The computation signature does not verify with the receiver-selected signer. | inspect-signer | bound |\n| computation/authority | authority | The selected computation signer is absent, retired or outside coverage. | inspect-authority | bound |\n| conformance/context | interpretation | The receiver supplied missing or invalid suite, implementation or contract identities. | inspect-context | bound |\n| conformance/budget | resource | The suite exceeds its declared byte or case budget. | inspect-resource-lines | bound |\n| conformance/coverage | interpretation | The suite omits a required rule or refusal, or names undeclared coverage. | complete-suite | bound |\n| conformance/integrity | integrity | The supplied suite bytes do not match the digest chosen by the receiver. | verify-suite-bytes | bound |\n| conformance/suite | input | The suite is malformed, empty, duplicated or uses an unsupported byte profile. | inspect-suite | bound |\n| reference/transport | host | The receiver transport policy does not admit this origin, redirect or scheme. | inspect-transport-policy | bound |\n| reader/response | host | The declared reader failed or returned an unsupported response envelope. | inspect-reader-response | bound |\n| admission/clock | interpretation | Existing admission evidence requires an explicit valid clock. | inspect-admission-clock | bound |\n| admission/evidence | host | The existing admission evidence boundary failed with a retained native diagnostic. | inspect-diagnostic | bound |\n| admission/inert | interpretation | No existing admitted reading meets the proposed ceilings. | fold-declared-inputs | bound |\n| admission/takes | authority | The existing native demand judgment refuses the proposed admission. | inspect-demand-judgment | bound |\n| admission/withdraw | authority | An existing declared reader still consumes the file proposed for removal. | inspect-file-consumers | bound |\n| authority-card/budget | resource | The authority card request lacks finite admitted limits or exceeds them. | inspect-resource-lines | bound |\n| authority-card/content | input | The admitted authority request content is unavailable through the bounded content store. | supply-selected-content | bound |\n| authority-card/integrity | integrity | Selected authority request bytes differ from their admitted digest or text encoding. | inspect-request-bytes | bound |\n| authority-card/selection | interpretation | The authority card request lacks one explicit admitted digest selection. | inspect-admitted-selection | bound |\n| authority-preflight/budget | resource | The authority preflight exceeds its finite action, record or byte budget. | inspect-resource-lines | bound |\n| authority-preflight/context | interpretation | The explicit authority epoch, clock or record context is invalid. | inspect-authority-context | bound |\n| authority-preflight/context-changed | integrity | Authenticated history or selected place bytes changed during authority preparation. | refresh-authority-context | bound |\n| authority-preflight/failed | host | The authority preflight failed without a more specific native cause. | inspect-diagnostic | bound |\n| authority-preflight/place | input | The requested relative authority place is not a valid coordinate. | inspect-place-coordinate | bound |\n| authority-preflight/request-action | input | The request action is unsupported or its exact records are malformed. | inspect-request-actions | bound |\n| authority-preflight/request-budget | resource | The request lacks valid finite action or byte limits or exceeds its record budget. | inspect-resource-lines | bound |\n| authority-preflight/request-clock | interpretation | The explicit request clock and horizon do not agree or contain the requested time. | inspect-request-clock | bound |\n| authority-preflight/request-context | interpretation | The request context fields or explicit epoch, horizon and resources are inconsistent. | inspect-request-context | bound |\n| authority-preflight/request-format | input | The authority request does not follow the exact public request profile. | inspect-request-format | bound |\n| authority-preflight/request-integrity | integrity | Authority request bytes differ from the exact digest or exceed the receiving byte limit. | inspect-request-bytes | bound |\n| authority-preflight/stale-epoch | authority | The requested authority epoch differs from the current authenticated history. | refresh-authority-context | bound |\n| host/budget | resource | A host operation exceeds or lacks its declared finite resource budget. | inspect-resource-lines | bound |\n| host/cancelled | host | The caller cancelled the current operation. | retry-if-required | bound |\n| host/context | interpretation | The required host context or operation-scoped capability is missing or malformed. | inspect-host-context | bound |\n| installed/cancelled | host | The caller cancelled the installed package reading. | retry-if-required | bound |\n| installed/export | interpretation | The requested package export selector does not name a supported explicit member. | inspect-package-exports | bound |\n| installed/external-member | integrity | A selected package member is a link, special file or path outside the physical inventory. | inspect-package-members | bound |\n| installed/inventory | input | The complete package member inventory has an invalid coordinate, duplicate or digest. | inspect-package-inventory | bound |\n| installed/manifest | interpretation | The admitted shape manifest is missing, invalid or outside the supported ESM contract. | inspect-package-manifest | bound |\n| installed/member-integrity | integrity | Installed member bytes differ from their declared digest. | refresh-installed-inventory | bound |\n| installed/missing-member | integrity | A required installed member or selected export is absent. | restore-declared-member | bound |\n| installed/pin | interpretation | A declared dependency binding conflicts or fails to name its selected snapshot. | inspect-dependency-pins | bound |\n| installed/resources | resource | The installed package reading exceeds or lacks its declared finite resources. | inspect-resource-lines | bound |\n| installed/text-member | input | A declared executable text member is not valid UTF-8. | inspect-member-bytes | bound |\n| installed/uninventoried-member | integrity | An installed regular file has no entry in the complete expected inventory. | refresh-installed-inventory | bound |\n| physical-lines/context | interpretation | The explicit physical inventory, resource policy or reading coordinates are invalid. | inspect-physical-reading | bound |\n| physical-lines/failed | host | The physical reading failed with a retained native diagnostic. | inspect-diagnostic | bound |\n| physical-lines/integrity | integrity | Physical inventory bytes or witness bindings changed or differ from the actual reading. | refresh-physical-reading | bound |\n| physical-lines/selection | interpretation | The line ceiling lacks a unique declared region or selector set. | inspect-region-declarations | bound |\n| physical-lines/witness | authority | The actual reading handle, witness record or admitted proof verification is unavailable or invalid. | inspect-reading-witness | bound |\n| profile/ambiguous-authority | authority | More than one admitted statement claims the same profile field binding. | select-exact-statement | bound |\n| profile/ambiguous-field | interpretation | More than one selected field binding names the same contract. | inspect-field-bindings | bound |\n| profile/authority-required | authority | No current admitted statement binds the exact field and source profile digest. | supply-covered-statement | bound |\n| profile/declaration | interpretation | The Topos profile declaration or pinned parent bytes failed the selected contract. | inspect-profile-declaration | bound |\n| profile/incompatible | interpretation | Selected profile fields have no compatible inhabited composition. | inspect-profile-composition | bound |\n| profile/missing-parent | input | A digest-pinned parent profile has no supplied bytes. | supply-pinned-parent | bound |\n| profile/undeclared-field | interpretation | A profile field has no matching selected contract and coordinate. | declare-selected-field | bound |\n| profile/widening-witness-required | authority | A widened inherited constraint has no witness accepted by the existing native judge. | supply-valid-witness | bound |\n| reading-witness | authority | The admitted reading-witness evidence is required or failed its native proof and policy checks. | inspect-reading-witness | bound |\n| release/category-ambiguous | interpretation | A release category or requested pin is declared more than once. | select-one-category | bound |\n| release/category-class | interpretation | The requested release pin class or digest algorithm differs from its declared category. | inspect-category-class | bound |\n| release/category-missing | interpretation | A requested release pin has no declared category. | declare-release-category | bound |\n| release/pin-ambiguous | interpretation | More than one artifact line matches the exact release category. | select-exact-artifact | bound |\n| release/pin-integrity | integrity | The selected artifact digest differs from the requested category pin. | inspect-artifact-pin | bound |\n| release/pin-missing | input | No authenticated artifact line matches the requested release category. | supply-covered-artifact | bound |\n| card-stale | authority | The authority card is outside its accepted horizon or no longer matches the verified current context. | refresh-card | topos |\n| not-in-card | authority | The requested action identity is absent from the verified authority card. | request-card-entry | topos |\n| host/busy | host | A native host already owns the selected place or has an active request. | reuse-or-close-existing-host | bound |\n| host/closed | host | The consumer-owned native host ended before this request could complete. | recover-act-or-start-host | bound |\n| host/timeout | resource | The native host did not establish its declared startup boundary before the deadline. | inspect-resource-lines | bound |\n| host/signer-mismatch | host | The selected signer does not match the prepared signing lot. | inspect-signer | bound |\n| host/unbound-signer | host | The receiver has no binding for the selected signer. | inspect-host-port | bound |\n| host/foundation-state | host | An existing store is empty or does not authenticate as an admitted place. | inspect-standing | bound |\n| host/foundation-required | host | The birth lock must be founded before this operation. | found-birth-lock | bound |\n| host/instrument-pin | host | The selected installed instrument bytes do not match the receiver pin. | inspect-artifact-pin | bound |\n\nEach `next` record declares its named action in machine-readable `about` data (`bound-refusal-action@1`), inside these same catalog lines. Equal action names have equal descriptions. Actions are advisory: none supplies a key, changes authority or retries an act automatically.\n" at=witness:public-native-host-and-producer-coverage by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-refusals shape=docs/contracts/refusals.md value=lock
|
|
21
|
+
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\n## Current rendered leaves\n\nA native file receipt cannot certify an obsolete declared rendered output after its admitted source changes. Receipt projection uses the existing declared view renderer to compare each applicable non-receipt output with its current expected bytes. Until they agree, resolution 1 withholds both file-region counts and byte seals; the byte-only sealer cannot turn that incomplete semantic projection into a closed receipt. Receipt views do not recursively certify themselves.\n\nThe normal render pass writes ordinary outputs before asking that same receipt renderer to seal them, including outputs prepared by workers. A receipt-only command may leave the region open; `fold --check` must refuse an obsolete output without repairing it. The next ordinary fold renders and closes it. This rule is shared by the native renderer and CLI, does not impose an external render-first workaround and does not authorize any write or admission. Two unrelated executable places cover admitted declaration changes, unchanged reuse, a clean public checkout and changed-input refusal.\n\n## Materialized delivery boundary\n\nA declared view is also a capability: its shape need not be materialized in every distribution. An ordinary place checks every applicable non-receipt rendered output. During a delivery projection only, the trusted formation recipe passes the manifest-selected coordinates captured before copying an already closed source to the existing native receipt renderer. The kernel does not parse the package manifest, infer selection from missing files or name application-specific regions. A carrier cannot choose this projection scope or change authority.\n\nThe guard checks each selected output against the same view renderer. Missing or altered selected bytes withhold both region counts and byte seals. An omitted source-only output is not certified as present. With no explicit delivery scope, the original full-place rule applies. The source must close before forming a distribution, and the resulting public tree must pass native `fold --check` before packing.\n" at=witness:materialized-output-boundary by=target form=alphabet measure=text role=writes scope=prose/en/files/publication-contract shape=docs/contracts/publication.md value=lock
|
|
15
22
|
bound-lock/1 about="# Pure object projection\n\n`@lapxo/bound/engine` exports `objectFold` and the existing `ObjectReading`, `ObjectRecord` and `ObjectContext` types. The CLI and receipt paths use that same implementation. Its vendored runtime consumes Obligations 0.4.4. The 111-module selected dependency closure is byte-identical to the previously selected 0.4.3 closure; this equivalence covers consumed code, not every theorem or published contract in the two archives.\n\nThe input is authenticated and context-admitted effective history with selected deterministic forms and parameters. This function does not admit records, verify signatures, resolve content, run commands, select clocks or write storage. Applications must perform preparation before projection.\n\nWithin each epoch, a cell declaration precedes its uses in effective order. A same-epoch act before its cell refuses in preparation by name: `object context: cell not declared before <act-id>`. Lower-epoch cell declarations remain eligible even when their envelope arrives later. Effective sign/join order is preserved; transport arrival does not authorize arbitrary semantic reordering. The consumed Topos contract must be published before this export is admitted for release.\n\nOutputs preserve existing attributed origins, local and travelling marks, exact withdrawals, floor and ceiling parts and REQUIRED/FREE/FORBIDDEN/CONFLICT decisions. Raw object JSON is not a new canonical identity. Byte identity requires the existing declared reading projection.\n\nMalformed or unauthenticated records are outside this pure projector's input contract. Refusal, authority and interrupted-admission vectors exercise the host boundary; they do not claim cryptographic admission inside WASM. No host callback calculates an algebraic result in a WASM comparison.\n\n## Public conformance samples\n\n`samples/engine-interval` and `samples/engine-alphabet` are formed places: TARGET.bound, receipts.bound, package.json, the declared reader.js and inputs/sample.json. The instrument exercises the same projector against prepared fixtures; its reader is not a command users invoke. `fold <sample-directory> --check` verifies each portable receipt. Cold native `fold --as receipts` recomputes the declared conformance reading without a private store.\n\n`samples/no/engine-interval.json` and `samples/no/engine-alphabet.json` are negative data fixtures. Their captured native preparation refusal is `cell not declared before s-B`; no closed receipts are asserted for refusing input. The actual CLI vector is `vectors/engine-object.cli.json`. This conformance reader does not authenticate arbitrary signatures, coverage or clocks.\n\n\n## Optional WASM host adapter\n\nThe optional `@lapxo/bound/wasm` entry evaluates the existing pure projection in QuickJS WASM. It performs no admission, signature verification, state calculation of its own, transport, key discovery or effects. Host authentication must finish before records become projection inputs. A valid digest identifies bytes; it grants no authority or confinement guarantee.\n\nThe host supplies the trusted runtime/WASM/module digests, exact byte lengths, entry, aliases and limits. These expectations must come from its accepted configuration, independently of fetched place bytes. Closed request metadata and exact lengths are checked before copying, hashing or worker handoff. Shared assets refuse. Every supplied byte is verified and copied before execution; the closed runtime bundle has no imports and receives the already verified WASM binary. Guest imports resolve only within the verified module map. No second fetch occurs.\n\n`runWasmRequest` returns declared text, without inventing a JSON canonicalization or number policy. The caller's declared entry chooses the serialization contract. Memory and stack limits govern the guest; they do not describe total host/WASM initialization memory. Guest memory, stack and execution budgets are explicit host inputs. Initialization and execution times are separate readings, not a speed guarantee.\n\n`evaluateWasm` runs in a host worker. It accepts an AbortSignal and an explicit worker lifetime. Cancellation, timeout, malformed messages, failed serialization and worker errors terminate the worker and return no successful result. Guest state remains provisional until success; no host write port is supplied. A terminated computation produces no successful receipt. The direct `runWasmRequest` entry has deadline interruption but cannot asynchronously receive an external abort while synchronously executing; callers needing that contract use `evaluateWasm`.\n\n\n### Native optional WASM projection\n\nThe existing object view consumes an optional, authenticated live declaration `engine/object form=alphabet measure=id value=wasm@1`. With no selector it retains the ESM projection; a conflicting or unknown selector refuses. This profile selects only the explicit object view, not every other view of the place. The host admits and folds configuration with the existing authority and withdrawal rules before selecting execution.\n\nThe place declares five interval limits: `engine/wasm/memory`, `engine/wasm/stack` and `engine/wasm/response` in bytes; `engine/wasm/execution` and `engine/wasm/worker-lifetime` in milliseconds. Missing, ambiguous or invalid limits refuse; there is no inferred fallback. The installed instrument binds the guest module and supported form standings to their context implementation artifacts. A place cannot choose another verifier or executable through this selection; an unsupported form or different implementation refuses.\n\nContext initialization is measured before place execution. If observed initialized guest memory exceeds the declared memory budget, the operation refuses without running place code. Host initialization memory is outside that guest execution limit; the worker lifetime bounds the entire attempt. During execution the unchanged declared memory, stack and execution limits apply. SIGINT reaches the worker cancellation port; cancellation or failure emits no successful object result.\n\nFor the opt-in `wasm@1` profile, the host verifies the selected context implementation before importing it. Every SHA-256 member declared by the context offer’s `restsOn` is checked by digest, and the existing `moduleClosure` validates the imported closure. Missing, altered, undeclared or unresolved imported members refuse before context code executes. This establishes content identity and import closure, not correctness, authority or sandbox confinement. Admission still precedes projection, and this check grants no permission to reuse a retained answer as current.\n\n## Deterministic byte projection\n\n`objectFoldBytes` consumes UTF-8 JSON `[\"bound-object-request@1\", records]` and the receiver's selected `ObjectContext`. It validates that context with Topos and calls the same `objectFold`. Its successful output is `[\"fact\", readings]` followed by one newline. It performs no clock, random, locale, filesystem, transport or environment lookup. The effective order and selected form implementations are inputs; an arbitrary transport permutation is not a new effective order. A callback supplied as a form implementation remains the receiver's responsibility. This contract does not declare arbitrary JavaScript programs deterministic.\n\nNumbers use the selected form's existing numeric policy. No integer-width conversion, rounding rule or meet is introduced. Map construction order for input-reference maps does not select a form or reorder admitted records. Wall-clock deadlines stop host work; they do not enter this semantic result. Runtime and other relevant host inputs still belong to a native reading receipt's environment.\n\n## External conformance\n\n`runConformance` accepts pinned suite bytes, receiver-selected contract and implementation identities, required rules and refusal codes, and a bounded byte evaluator. The suite cannot choose its verifier or declare its own coverage sufficient. A missing required rule or refusal rejects before evaluating the candidate. Every request, expected response and response digest is data; the protocol contains no Node paths. A false result is not a certificate, and a finite passing suite is not a proof of universal correctness.\n\n`@lapxo/bound/conformance` delivers the reference projection vectors. Their twelve conflict and withdrawal results retain the previously captured projection identities; four-state samples and named input/context refusals are additional vectors. This suite covers the declared pure projection profile. Passing it alone does not certify the native host, cryptographic admission, or every code in the complete refusal catalog. Those producer vectors remain required in the release acceptance record.\n\n## Signed computations\n\n`executeComputation` identifies the request before invoking the evaluator. It commits the contract, numeric policy, complete reading context, actual input bytes, implementation digest, result digest and receipt commitment. The digest names the implementation; it is not a signing key. The receiver supplies a signer and an independent signature-verification port. Evaluation, signature acquisition and verification have separate bounds.\n\n`verifyComputation` reconstructs these commitments from the receiver's expected context and actual input/result bytes, then verifies the signature with the receiver's port. No key, verifier or authority is accepted from a returned statement. Distinct implementation digests are distinct origins; redelivery adds no origin. Agreement is not proof of correctness or statistical independence. A disagreement can be compared only under the same declared question and comparison form; no automatic conflict algebra is invented here.\n\nCancellation, failed evaluation, an invalid signer or an unverifiable signature produces no successful computation statement. The API signs an observation, not a Root admission or release approval. It does not persist a result automatically.\n" at=policy:public-build-conformance by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-engine shape=docs/contracts/engine.md value=lock
|
|
16
|
-
bound-lock/1 about="# Reference inspection through the declared content port\n\n`bound fold '#bound:1?…'` inspects a semantic standing from the location explicitly carried by its reference. The acting place supplies an admitted `content-request/1` transport selection and finite time and response-byte limits. A locator selects neither executable code nor authority. The host performs transport; no reader acquires a network effect.\n\nThe shared reference decoder checks the canonical reference. The existing transport port supplies bytes under the place's selected mechanism and limits. The shared inspector verifies the blob digest, exact document wrapper, and canonical semantic standing digest in that order. A successful result names the supplying source, both identities, and `no encounters computed · unauthenticated`; it is inspection, never a grant, admission, signature proof or encounter calculation.\n\nDigest mismatch is an integrity refusal, never a fork. Timeout aborts the native HTTP request; oversized responses cancel the body. Failed, interrupted or invalid inspection returns no successful result. This operation has no write port: it does not admit declarations, write TARGET, write receipts or retain partially received bytes. `--check`, a selection view or effectful arguments with a reference refuse by name before transport.\n\nThe positive sample is the same canonical standing wrapper already used by the reference quartet, served at a local fixture location. The negative sample changes the served bytes while keeping the declared digest. The CLI vector runs on two unrelated places and records successful inspection, wrong blob, exceeded byte budget, timeout cancellation and refusal before transport. Request paths are recorded separately from the reference: the URL fragment is not sent in HTTP requests. Page code may read a fragment; secrecy is not claimed.\n\nExternal cancellation as a general API, signature/admission of transported claims, arbitrary source protocols without a declared host binding, CORS and another-machine portability remain separate demands. No source location is a permanent service requirement.\n\nThe executable publication vector binds the existing content-request/1 command port to /bin/cat over declared immutable fixture bytes. Preparation is outside the clock; the CLI call is measured. It covers two unrelated standings and integrity refusal without a server or reader network effect. Earlier HTTP byte-limit and timeout captures remain separate evidence; this vector does not remeasure HTTP.\n\n\n## Authenticated host opening\n\n`@lapxo/bound/reference` exports `inspectAuthenticatedReference`, `encodeReference` and `decodeReference`. The host supplies its authority snapshot and epoch, public signers and coverage, admitted signature eras, admission/origin policy, selected form standing and executable implementation, finite byte/record budgets and bounded transport and cryptographic ports. Neither source URL, carrier, digest nor embedded key grants authority.\n\nThe authenticated-standing@1 carrier and effective global standing projection are defined by the consumed Topos contract. Original signatures authenticate retained historical evidence; the snapshot commitment is checked against the current authority epoch. This opening does not grant permission to reuse an answer as current. Configuration history that needs an admitted standing fold refuses by name. Only fully verified records are returned, for the same pure projection in ESM or WASM; no writer or commit port is exposed.\n\nWithout the authenticated profile, the existing CLI reference branch remains explicitly unauthenticated inspection.\n\n\n### Native authenticated opening\n\nThe same reference command consumes `reference/authentication form=alphabet measure=id value=authenticated-standing@1` from the selected local place. Without that declaration the existing inspection remains explicitly unauthenticated. With it the host requires unique authenticated declarations for `engine/object` (`esm@1` or `wasm@1`), `reference/snapshot`, `reference/epoch`, `reference/proof-scope`, `reference/records`, `reference/policy`, `reference/form-implementation`, `reference/contracts/refusals` and `reference/contracts/standing` (all `measure=id`); the snapshot is a typed SHA-256 digest, epoch and record budget are safe integers, and the record budget is positive. The declared transport supplies its own existing byte and lifetime bounds.\n\nTrust comes from the local place's admitted keys, signature eras, snapshot and selected object interpretation, including origin and witness grants. No key, grant or verifier supplied by the carrier becomes host authority. The public path delegates signatures, historical authority, wire interpretation, effective order and context admission to the existing SDK and projects admitted records through the existing engine. Signature, coverage, era, effective-order, blob-integrity and semantic-identity failures refuse before any authenticated result or cell output.\n\nOpening prints the source, authenticated semantic standing, object results and authority-context identity. It does not land an act or emit a successful partial result. Existing private content-cache stamps and store accounting may be updated; those are distinct from the public place, its signed authority and its committed history. Inspection does not grant permission to reuse an old response as a current one.\n\nFor the opt-in `authenticated-standing@1` profile, the host checks the selected context offer’s SHA-256 `restsOn` members and uses the existing `moduleClosure` before importing that context. A missing, altered, undeclared or unresolved import refuses before context code executes. The same preparation applies when the explicit object view selects `wasm@1`; absent these opt-in profiles, the existing path is unchanged. Import closure proves neither correctness nor sandbox confinement, creates no authority, and does not authorize current-answer reuse.\n\n\n### Compatibility of published 0.2.0 carriers\n\nThe original weather and editorial carriers, their signatures and effective-order counterexamples remain byte-identical. `inspectAuthenticatedReference` accepts their independently supplied legacy trust tuple without inventing the newer contract commitments. Its native vector verifies both positive carriers and their arrival-equivalent projection, and rejects signature, coverage, era, effective-order, blob and semantic-standing failures. Authority and context preparation use the existing host and SDK; no replacement verifier or form algebra is supplied by the carrier.\n\nThis preserves the carrier/API contract, not an implicit native backend. The historical receiver TARGETs omit the explicit backend and interpretation-contract lines required by native opening in 0.2.1. They therefore refuse with `reference/backend` before transport; the vector asserts that refusal instead of re-signing or weakening the fixtures. No automatic ESM fallback is added. Native positive opening with the complete admitted context is demonstrated separately by the reference-export and reference-backend quartets, including ESM/WASM equality and altered-byte refusal. `compatibility.json` records every inherited condition and expected result; the no sample still contains the original bad signature.\n" at=witness:
|
|
23
|
+
bound-lock/1 about="# Reference inspection through the declared content port\n\n`bound fold '#bound:1?…'` inspects a semantic standing from the location explicitly carried by its reference. The acting place supplies an admitted `content-request/1` transport selection and finite time and response-byte limits. A locator selects neither executable code nor authority. The host performs transport; no reader acquires a network effect.\n\nThe shared reference decoder checks the canonical reference. The existing transport port supplies bytes under the place's selected mechanism and limits. The shared inspector verifies the blob digest, exact document wrapper, and canonical semantic standing digest in that order. A successful result names the supplying source, both identities, and `no encounters computed · unauthenticated`; it is inspection, never a grant, admission, signature proof or encounter calculation.\n\nDigest mismatch is an integrity refusal, never a fork. Timeout aborts the native HTTP request; oversized responses cancel the body. Failed, interrupted or invalid inspection returns no successful result. This operation has no write port: it does not admit declarations, write TARGET, write receipts or retain partially received bytes. `--check`, a selection view or effectful arguments with a reference refuse by name before transport.\n\nThe positive sample is the same canonical standing wrapper already used by the reference quartet, served at a local fixture location. The negative sample changes the served bytes while keeping the declared digest. The CLI vector runs on two unrelated places and records successful inspection, wrong blob, exceeded byte budget, timeout cancellation and refusal before transport. Request paths are recorded separately from the reference: the URL fragment is not sent in HTTP requests. Page code may read a fragment; secrecy is not claimed.\n\nExternal cancellation as a general API, signature/admission of transported claims, arbitrary source protocols without a declared host binding, CORS and another-machine portability remain separate demands. No source location is a permanent service requirement.\n\nThe executable publication vector binds the existing content-request/1 command port to /bin/cat over declared immutable fixture bytes. Preparation is outside the clock; the CLI call is measured. It covers two unrelated standings and integrity refusal without a server or reader network effect. Earlier HTTP byte-limit and timeout captures remain separate evidence; this vector does not remeasure HTTP.\n\n\n## Authenticated host opening\n\n`@lapxo/bound/reference` exports `inspectAuthenticatedReference`, `encodeReference` and `decodeReference`. The host supplies its authority snapshot and epoch, public signers and coverage, admitted signature eras, admission/origin policy, selected form standing and executable implementation, finite byte/record budgets and bounded transport and cryptographic ports. Neither source URL, carrier, digest nor embedded key grants authority.\n\nThe authenticated-standing@1 carrier and effective global standing projection are defined by the consumed Topos contract. Original signatures authenticate retained historical evidence; the snapshot commitment is checked against the current authority epoch. This opening does not grant permission to reuse an answer as current. Configuration history that needs an admitted standing fold refuses by name. Only fully verified records are returned, for the same pure projection in ESM or WASM; no writer or commit port is exposed.\n\nWithout the authenticated profile, the existing CLI reference branch remains explicitly unauthenticated inspection.\n\n\n### Native authenticated opening\n\nThe same reference command consumes `reference/authentication form=alphabet measure=id value=authenticated-standing@1` from the selected local place. Without that declaration the existing inspection remains explicitly unauthenticated. With it the host requires unique authenticated declarations for `engine/object` (`esm@1` or `wasm@1`), `reference/snapshot`, `reference/epoch`, `reference/proof-scope`, `reference/records`, `reference/policy`, `reference/form-implementation`, `reference/contracts/refusals` and `reference/contracts/standing` (all `measure=id`); the snapshot is a typed SHA-256 digest, epoch and record budget are safe integers, and the record budget is positive. The declared transport supplies its own existing byte and lifetime bounds.\n\nTrust comes from the local place's admitted keys, signature eras, snapshot and selected object interpretation, including origin and witness grants. No key, grant or verifier supplied by the carrier becomes host authority. The public path delegates signatures, historical authority, wire interpretation, effective order and context admission to the existing SDK and projects admitted records through the existing engine. Signature, coverage, era, effective-order, blob-integrity and semantic-identity failures refuse before any authenticated result or cell output.\n\nOpening prints the source, authenticated semantic standing, object results and authority-context identity. It does not land an act or emit a successful partial result. Existing private content-cache stamps and store accounting may be updated; those are distinct from the public place, its signed authority and its committed history. Inspection does not grant permission to reuse an old response as a current one.\n\nFor the opt-in `authenticated-standing@1` profile, the host checks the selected context offer’s SHA-256 `restsOn` members and uses the existing `moduleClosure` before importing that context. A missing, altered, undeclared or unresolved import refuses before context code executes. The same preparation applies when the explicit object view selects `wasm@1`; absent these opt-in profiles, the existing path is unchanged. Import closure proves neither correctness nor sandbox confinement, creates no authority, and does not authorize current-answer reuse.\n\n\n### Compatibility of published 0.2.0 carriers\n\nThe original weather and editorial carriers, their signatures and effective-order counterexamples remain byte-identical. `inspectAuthenticatedReference` accepts their independently supplied legacy trust tuple without inventing the newer contract commitments. Its native vector verifies both positive carriers and their arrival-equivalent projection, and rejects signature, coverage, era, effective-order, blob and semantic-standing failures. Authority and context preparation use the existing host and SDK; no replacement verifier or form algebra is supplied by the carrier.\n\nThis preserves the carrier/API contract, not an implicit native backend. The historical receiver TARGETs omit the explicit backend and interpretation-contract lines required by native opening in 0.2.1. They therefore refuse with `reference/backend` before transport; the vector asserts that refusal instead of re-signing or weakening the fixtures. No automatic ESM fallback is added. Native positive opening with the complete admitted context is demonstrated separately by the reference-export and reference-backend quartets, including ESM/WASM equality and altered-byte refusal. `compatibility.json` records every inherited condition and expected result; the no sample still contains the original bad signature.\n\n\n## Located content and declared previews\n\nThe native `inspectReference` API and CLI consume Topos0.2.4 `#topos-reference:1` using its existing decoder and inspector. Content identity excludes the location. A holder may supply bytes; an absent location or a viewer produces `needs/bytes/<blob>` without a fetch. Unavailable bytes remain open. Available bytes must match both exact blob bytes and semantic standing. No inspection authenticates an origin, admits a declaration or folds an encounter. An authenticated host selection refuses a located-only profile rather than downgrading trust. Historical `#bound:1` bytes remain unchanged.\n\nThe receiver may supply `signal` and `allowedOrigins`. Origin refusal happens before transport; redirects are not followed. HTTP enforces the declared byte budget while reading, cancels an overrun, and distinguishes cancellation/timeout from unavailable content. A late valid delivery can satisfy the same reference. Scheme and lifetime policy remain selected by admitted lines; a carrier chooses neither policy nor authority. Command transports retain their existing finite process contract.\n\n`inspectReferencePreview(line,budget,maxInlineBytes)` delegates to the Topos reference-projection contract. It never fetches. The receiver explicitly supplies record/inline byte budgets; overflow and wrong inline digests refuse without truncation. Duplicate relations follow the declared preserve/refuse choice. A preview neither replaces full content nor proves relation truth, completeness or authenticity. A fragment can be read by page code: secrecy is not promised, and secrets must not be included inline.\n\nThe executable additional quartet is retained inside the selected process reader, as `vectors/reference-wire.vector.json`: positive and negative cases run over catalog and route-notes, using `test/reference-wire-acceptance.test.ts` and `test/response-protocol.test.ts`. The logical receipt is `conformance/reference-wire`; its contract, two positive places, corruption/stream/origin/cancellation negatives and exact process predicates are committed by that reader digest. Root judges the count; the reader does not alter policy. This adds no mandatory project server.\n" at=witness:reference-wire-contract by=target form=alphabet measure=text role=writes scope=prose/en/files/reference-port shape=docs/contracts/reference-port.md value=lock
|
|
17
24
|
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/<who> measure=signer value=<name>`; `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 <name>` 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
|
|
18
25
|
bound-lock/1 about="# Verified executable closure delivery\n\nNeeds are arbitrary declared names, not a kernel profile enumeration.\n\nAll requested entries share the existing moduleClosure traversal; no second walker, parser or algebra.\n\nHost requires already authenticated snapshot identities; a bundle digest establishes content identity, not authority or correctness.\n\nDelivery preserves each reached JS/JSON member and explicitly pinned notices byte for byte. Separate digests identify the closure manifest and the exact UTF-8 JSON container.\n\nCanonical delivery sorts needs, reached modules, library bindings and notices; duplicate needs do not duplicate code; unsupported executable forms refuse by name.\n\nMandatory member, source byte and response byte budgets apply before delivery. Pre-aborted or observed cancellation refuses. Synchronous work is not a preemptible execution sandbox.\n\nPortable ESM delivery refuses host builtins, runtime loader access, CommonJS loads, calculated/escaped loader expressions and unsupported URL spellings before entry execution.\n\nConsumer verifies the expected container digest and repeats the same closure preflight over exactly the delivered members. Derived import maps are never trusted as authority.\n\nThe host must verify actual mounted bytes again before execution; the test host demonstrates this but is not a public browser host.\n\nNative, program and worker custody remains in force. A pinned syntax analyzer detects unsupported loading expressions before execution; Node inventories and links the executable modules. Authenticated world loads require a declared closure and verified mounted bytes. This preflight is not a JavaScript execution sandbox.\n\nNo external fetch or general demand resolver is introduced. Missing bytes remain outside completed delivery and must be resolved by the existing host contract.\n" at=policy:vendored-runtime-delivery by=target form=alphabet measure=text role=writes scope=prose/en/files/closure-delivery shape=docs/contracts/closure-delivery.md value=lock
|
|
26
|
+
bound-lock/1 about="# Verified module inventory\n\n`moduleInventory` from `@lapxo/bound/closure/native` projects the already verified executable delivery through the existing closure verifier. Its unit is a module, not a symbol. It neither compiles nor executes the offered code and introduces no second traversal or dependency parser.\n\nThe receiver supplies exact delivery bytes, their expected SHA-256 digest, the existing finite member/source/response-byte limits, declaration context (`scope`, `by`, `at`) and exactly one source/version declaration for each reached snapshot. Source and version are receiver declarations; the snapshot identifies bytes and does not authenticate a publisher's version claim.\n\nEach reached module becomes an existing canonical wire line. Its digest is `value`; `about` contains the `module-inventory-record/1` profile: `unit`, `source`, `version`, `snapshot`, `module`, `digest`, and `reachedFrom`. `reachedFrom` identifies the verified closure which reached the module, not an immediate importing module. The output also names the exact delivery and closure identities. No new wire fields or fixed application regions are introduced.\n\nAn unreachable module does not enter the executable closure. A different source-envelope identity may change provenance and the inventory receipt even if the executable sources remain equal. Missing or altered module digests and changed carrier bytes refuse through the existing delivery verifier; they are integrity failures, not forks. Incomplete or duplicate source declarations refuse without a partial inventory.\n\n## Native quartet\n\nTwo unrelated carriers, field notes and water levels, contain two reached modules and one excluded module. The native publication process vector imports the compiled public API, compares the exact canonical inventory with its captured `.bound` sample, verifies repetition and rejects changed carrier bytes, missing module digests and absent source declarations. Declared case inputs commit the positive carrier, expected inventory and negative carrier. The two cases run under the existing publication instrument and its unchanged budgets.\n\nThe contract is rendered by the existing selected text renderer from a prospective public text declaration. Owner admission, final Root receipts, the release archive and another-machine portability remain separate obligations.\n" at=policy:module-inventory by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-module-inventory shape=docs/contracts/module-inventory.md value=lock
|
|
19
27
|
bound-lock/1 about="# Walk\n\n`bound fold --as walk@<resolution>` 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
|
|
20
28
|
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 <lot>` 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 <lot>` 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\n# Committed act results\n\nThe opt-in `local-act@1` contract is selected by `wire/act-result`, `wire/act-result-scope` and `wire/act-result-context`. An admitted `view/act measure=id value=act` makes `bound fold --as act <identity>` available. Missing or conflicting declarations refuse; an absent profile preserves the historical interface. Topos defines the canonical record and result contract.\n\nAdmission publishes the original signed records, their logical placements and one native result receipt atomically. A failure before commit writes no partial act. The result names the committed digest and local epoch; replay returns the original result without another epoch or origin. A post-commit error is not a rollback. Read the committed result before deciding whether to retry.\n\nThe query verifies the record signatures and coverage against the authority snapshot at admission, and the native receipt against its retained provenance. Later key retirement or profile replacement cannot authorize a new act but does not erase a verifiable historical result. Admission is not conformance: the output says `admitted · conformance not asserted`. Missing or corrupt results refuse by name. Host paths and delivery counts are not identity inputs.\n\n## Release approval\n\n`fold --as release <approval-file>` verifies the external approval against the place authorizer, its admitted public key, coverage and signature era. Exactly one signed release/<tag> digest, release/artifact name and sources/archive URL are required. It prints `READY sha256:<digest> <name> <source>` or refuses with the coordinate and cause. This is an approval judgment, distinct from the place release-policy verdict. It never fetches, executes, signs or lands.\n\n## Standing admission\n\nA uses/ selection admits canonical standing bytes, never an archive. The bytes must already be held under their verified digest or in the single local coordinate explicitly named by needs. Admission checks identity and canonical form without fetching, executing or writing the content store. Missing or corrupt bytes refuse the whole lot. A corrupt held copy cannot be hidden by another source. Archives remain separate dependency declarations.\n\n\n## Declared reading identity\n\nA place selects both `wire/reading-context value=reading-context@1` and `wire/reading-receipt value=reading-receipt@1`. Partial or conflicting selections refuse. Every reader under this profile declares an input projection; a legacy reader is refused by name instead of receiving a new identity without its closure.\n\nThe host commits the full instrument reference, the verified capsule implementation, effective reader policy, declared transitive references, each input's actual bytes and dependent receipt identities. The process environment is captured explicitly: inherited variable values (hashed, never printed), the place working directory, child flags, runtime bytes and platform conditions. The same captured boundary is handed to execution and keys the capsule cache. These references grant neither authority nor independence and cannot prove undeclared inputs absent.\n\nAn unchanged cross-process fold reads retained receipts with zero opened readings. Changed input reopens that reading and its dependents; changing shared implementation, policy or execution conditions invalidates the readings that depend on them. The semantic receipt names the reading and result together; elapsed time and signature envelopes remain separate. Old receipts are not promoted.\n\nRetained evidence may be inspected without asserting a current response. Reusing a current response also requires the existing snapshot-access contract: matching principal, authorization, request, implementation and snapshot, declared freshness, and both inspection and reuse permission. Unknown or expired freshness, withdrawn permission or changed context refuse before running a provider. A new observation needs its own admitted act.\n\n`fold --check` verifies the retained published evidence and instrument. It opens no reader and grants no permission to assert an old response today. A live fold additionally compares the current captured execution boundary.\n" at=witness:complete-reading-context-with-native-reuse by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-cli shape=docs/contracts/cli.md value=lock
|
|
21
29
|
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/<row>` and `wire/object/allowed/<row>`. 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
|
|
@@ -51,7 +59,8 @@ bound-lock/1 about="Deterministic repair means a reproducible proposed lot, not
|
|
|
51
59
|
bound-lock/1 about="Each declared vector case is a separate reading with its own coordinate and receipt. A quartet aggregates those receipts. Reader lifetime and per-case limits are unchanged; the rejected whole-vector timeout is retained as evidence." at=witness:bound021-final-bindings by=target form=alphabet measure=text role=writes scope=rationale/publication-case-readings value=lock
|
|
52
60
|
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
|
|
53
61
|
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
|
|
54
|
-
bound-lock/1 about="Exact published
|
|
62
|
+
bound-lock/1 about="Exact published obligations 0.4.7 dependency archive; digest identifies its bytes, with consumed-surface comparison recorded before admission." at=witness:published-dependency-closure by=target form=alphabet measure=id needs=node_modules/@lapxo/obligations role=reads scope=dep/obligations shape=package value=sha256:28cba430228db1c04f446c93f81b09a2705d6bf3e222d35adbe5a4cee4061884
|
|
63
|
+
bound-lock/1 about="Exact published topos 0.2.4 dependency archive; digest identifies its bytes, with consumed-surface comparison recorded before admission." at=witness:published-dependency-closure by=target form=alphabet measure=id needs=node_modules/@lapxo/topos role=reads scope=dep/topos shape=package value=sha256:7aca161279d14bc0e054dcc281cd110aeb95be2e026b42fdf527a260e58b2aae
|
|
55
64
|
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
|
|
56
65
|
bound-lock/1 about="First session" at=policy:bound/readme by=target form=alphabet measure=id role=writes scope=page/seq/heading value=present
|
|
57
66
|
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
|
|
@@ -68,6 +77,8 @@ bound-lock/1 about="L6 remains unpaid and is carried to 0.1.10: portable semanti
|
|
|
68
77
|
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
|
|
69
78
|
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
|
|
70
79
|
bound-lock/1 about="Native public reading identity quartet: exact execution identity, retained verified receipt, missing dependency and current integrity/authority refusals. Admit only after this coordinate is measured zero by the selected native provider in this place." at=policy:public-reading-identity-obligation by=target form=interval measure=count needs=contract/published/reading-identity role=reads scope=contract/published/reading-identity value=0..0
|
|
80
|
+
bound-lock/1 about="Native reference acquisition and wire producer quartet on two unrelated places; admit only after the selected process reader measures zero here." at=witness:reference-wire-contract by=target form=interval measure=count needs=conformance/reference-wire role=reads scope=conformance/reference-wire value=0..0
|
|
81
|
+
bound-lock/1 about="Native verified module inventory quartet; admit only after the existing publication instrument measures zero for this coordinate in this admitted place. No whole-release or portability claim." at=policy:module-inventory by=target form=interval measure=count needs=contract/published/module-inventory role=reads scope=contract/published/module-inventory value=0..0
|
|
71
82
|
bound-lock/1 about="No authenticated committed result is available at the requested identity." at=policy:contextual-host by=target form=alphabet measure=class role=writes scope=refusal/host/act-unavailable value=availability
|
|
72
83
|
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
|
|
73
84
|
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
|
|
@@ -90,6 +101,7 @@ bound-lock/1 about="Pending general document projection at docs/readme-assets/at
|
|
|
90
101
|
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
|
|
91
102
|
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
|
|
92
103
|
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
|
|
104
|
+
bound-lock/1 about="Proposed public holder prefix; the file name is the exact history digest followed by .json. A holder supplies bytes, never authority. Availability remains pending until an authorized delivery." at=policy:receipt-publication by=target form=alphabet measure=id role=writes scope=sources/receipt-history value=https://github.com/Lapxo/bound/releases/download/v0.2.6/
|
|
93
105
|
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
|
|
94
106
|
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
|
|
95
107
|
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
|
|
@@ -104,7 +116,6 @@ bound-lock/1 about="Render documentation and standard MIT license; verify one ex
|
|
|
104
116
|
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
|
|
105
117
|
bound-lock/1 about="Render this place admitted README prose through the existing explicitly selected text provider; general document capability demands remain unchanged." at=policy:bound/019-minimal-metadata by=target form=alphabet measure=id needs=README.md role=demands scope=view/readme-historical shape=README.md value=text@3
|
|
106
118
|
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
|
|
107
|
-
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
|
|
108
119
|
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
|
|
109
120
|
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
|
|
110
121
|
bound-lock/1 about="Requires the real published SDK contract and native quartet before release admission; a private candidate hash is not a published dependency." at=witness:engine-api-publication by=target form=alphabet measure=status needs=release/contracts/object-effective-order role=demands scope=engine/prerequisite/topos-effective-order value=published
|
|
@@ -118,9 +129,9 @@ bound-lock/1 about="The call was cancelled before the commit visibility point."
|
|
|
118
129
|
bound-lock/1 about="The contextual act fails a transaction precondition; nothing new is committed by that refusal." at=policy:contextual-host by=target form=alphabet measure=class role=writes scope=refusal/host/act value=operation
|
|
119
130
|
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
|
|
120
131
|
bound-lock/1 about="The declared snapshot cannot be decoded in its selected shape." at=policy:contextual-host by=target form=alphabet measure=class role=writes scope=refusal/host/snapshot-format value=input
|
|
132
|
+
bound-lock/1 about="The distribution carries native current receipts and the declared standing projection; the owning source retains full receipts and its signed ledger. The build-only publisher reuses the validated native fold, receipt renderer and byte sealer. Original TARGET, complete receipts and signed admission messages are exported byte for byte in an external publication-history@1 JSON document: records target/receipts/admitted with their existing SHA-256 digests. Its digest is named in receipts/history; identity does not confer current authority. Historical inspection needs those bytes and refuses missing or altered history. Existing transport response bytes bound the document. A clean public checkout verifies and reuses its projected receipts without a private memo or signing key." at=policy:receipt-publication by=target form=alphabet measure=id needs=transport/response-bytes role=writes scope=publish/receipt-history shape=sources/receipt-history value=current-with-history@1
|
|
121
133
|
bound-lock/1 about="The embedding host supplies the instrument name, implementation runtime, policy and snapshot per call. Import and admission neither interpret consumer argv nor write its console. Canonical-line signing remains separate from signature frames. Offered bytes cannot select authority, verification, instrument ports or larger receiver budgets." at=policy:contextual-host by=target form=alphabet measure=text role=writes scope=contract/native-call-context value=lock
|
|
122
|
-
bound-lock/1 about="The
|
|
123
|
-
bound-lock/1 about="The fixture instrument receives the publication projection of already admitted folded configuration; historical signatures are not copied as local authority." at=policy:build-simplification by=target form=alphabet measure=digest role=writes scope=uses/process-readings value=sha256:de09f5081d4fd0eee2293ead2c3966c1f1b3a9542507dfde6ef440d63591db15
|
|
134
|
+
bound-lock/1 about="The fixture instrument receives the publication projection of already admitted folded configuration; historical signatures are not copied as local authority." at=witness:content-verified-fold-work-reuse by=target form=alphabet measure=digest role=writes scope=uses/process-readings value=sha256:59e99441730bba52d90f5a97413b6507c215e2c4b0deaac8ad15e3ec3d295a6f
|
|
124
135
|
bound-lock/1 about="The fourteen proposed local-mirror source URLs were withdrawn after their draft inputs were removed. Selected standing and runtime digests remain unchanged. No matching public world delivery has been verified for those bytes; clean native closure remains unpaid. Public sources must deliver the exact selected bytes, or an explicit reviewed world release and re-pin is required; no newest-by-URL or local-store substitution." at=policy:bound/019-public-source-ci by=target form=alphabet measure=text role=writes scope=rationale/019/public-source-delivery value=present
|
|
125
136
|
bound-lock/1 about="The historical authority prefix differs from the supplied Root history." at=policy:contextual-host by=target form=alphabet measure=class role=writes scope=refusal/host/historical-snapshot value=integrity
|
|
126
137
|
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
|
|
@@ -142,6 +153,8 @@ bound-lock/1 about="The supplemental publication world owns exactly two new quar
|
|
|
142
153
|
bound-lock/1 about="The supplemental quartet executes four CLI cases through the existing declared content-request/1 command binding: two standings and two integrity refusals. Earlier HTTP limit/timeout captures are retained separately, not remeasured or silently substituted." at=witness:executable-publication-additions by=target form=alphabet measure=status needs=docs/contracts/reference-port.md|docs/contracts/reference-port.publication.json|samples/reference-port/no/catalog/standing.json|samples/reference-port/yes/catalog/standing.json|vectors/reference-port.cli.json role=demands scope=contract/published/reference-port value=present
|
|
143
154
|
bound-lock/1 about="The supplemental quartet executes the native instrument on two formed positive places and one formed same-epoch-order refusal. Original negative input data remain delivered. Exact descriptor bytes and native execution receipts are required; this projection does not authenticate arbitrary histories." at=witness:executable-publication-additions by=target form=alphabet measure=status needs=docs/contracts/engine-object-projection.publication.json|docs/contracts/engine.md|samples/engine-alphabet/TARGET.bound|samples/engine-interval/TARGET.bound|samples/no/engine-alphabet.json|samples/no/engine-interval.json|samples/no/engine-order/TARGET.bound|samples/no/engine-order/inputs/sample.json|vectors/engine-object.cli.json role=demands scope=contract/published/engine-object-projection value=present
|
|
144
155
|
bound-lock/1 about="The transaction digest differs from the expected content identity." at=policy:contextual-host by=target form=alphabet measure=class role=writes scope=refusal/host/integrity value=integrity
|
|
156
|
+
bound-lock/1 about="Third-party notices for the optional WebAssembly adapter\n\nFiles: jitl-quickjs-ffi-types.txt, quickjs-emscripten-core.txt\nSHA-256: 3c6040aa318612a234cc951609b640c0c63d85ae5a98a9330d3116f1553a79db\n\nThe MIT License\n\nquickjs-emscripten copyright (c) 2019-2024 Jake Teton-Landis\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\n\nFiles: jitl-quickjs-wasmfile-release-sync.txt\nSHA-256: 446a69ae534aa8612d8b16d3bfc670c5a5050597dca3ce9820441a60d5d04fbb\n\nquickjs-emscripten:\nThe MIT License\n\nquickjs-emscripten copyright (c) 2019-2024 Jake Teton-Landis\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\n\nquickjs:\nQuickJS Javascript Engine\n\nCopyright (c) 2017-2021 Fabrice Bellard\nCopyright (c) 2017-2021 Charlie Gordon\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\nall copies 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\nTHE AUTHORS 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\nTHE SOFTWARE.\n\n\nFiles: bound.txt, obligations.txt, topos.txt\nSHA-256: 578a1166353ec2844fe2a76e9a105743a5d521e75820f6222125f6eea3598f54\n\nMIT 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\n\nFiles: fast-text-encoding.txt\nSHA-256: b40930bbcf80744c86c46a12bc9da056641d722716c378f5659b9e555ef833e1\n\n Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n\n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n 1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n 4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n 5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n 6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n 7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n 8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n 9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\n END OF TERMS AND CONDITIONS\n\n APPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"{}\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\n Copyright {yyyy} {name of copyright owner}\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n\n" at=policy:delivery-deduplication by=target form=alphabet measure=text role=writes scope=prose/en/files/wasm-notices shape=licenses/wasm/NOTICE.txt value=lock
|
|
157
|
+
bound-lock/1 about="This exact planning demand stays active and unpaid in the owning source and preserved in signed history. The distribution is an explicitly declared projection and does not export this planning statement as its consumer contract. It neither retires nor pays the source demand. Numeric bounds, authority, public wire and declarations consumed by other statements cannot be selected here." at=policy:receipt-publication by=target form=alphabet measure=id role=writes scope=publish/standing/history value=plan/0.1.6/host-module-command
|
|
145
158
|
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
|
|
146
159
|
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
|
|
147
160
|
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/declaration shape=tsconfig.json value=true
|
|
@@ -216,7 +229,7 @@ bound-lock/1 about="how this place is cited" at=policy:bound/010 by=target form=
|
|
|
216
229
|
bound-lock/1 about="lines, not a page: blobs, laid snapshots and answer caches no alias, pin or receipt names; land withdraws them" at=policy:bound/views by=target form=alphabet measure=id role=demands scope=view/unnamed value=unnamed
|
|
217
230
|
bound-lock/1 about="name: release\non:\n workflow_run:\n workflows: [tag]\n types: [completed]\n workflow_dispatch:\njobs:\n stage:\n if: github.event_name == 'workflow_dispatch' || (github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.head_branch == 'main')\n concurrency: release-delivery\n environment: release\n runs-on: ubuntu-latest\n permissions:\n contents: write\n id-token: write\n steps:\n - uses: actions/checkout@v4\n with:\n ref: ${{ github.event.workflow_run.head_sha || github.sha }}\n - uses: actions/setup-node@v4\n with:\n node-version: 24\n - run: npm ci --ignore-scripts\n - run: npm run build\n - run: npm install --global npm@'12.1.0' --ignore-scripts\n - name: Prepare release\n env:\n GH_TOKEN: ${{ github.token }}\n run: |\n set -euo pipefail\n TAG=\"v$(node -p \"require('./package.json').version\")\"\n printf 'TAG=%s\\n' \"$TAG\" >> \"$GITHUB_ENV\"\n git fetch origin \"refs/tags/$TAG:refs/tags/$TAG\"\n gh api --paginate \"repos/$GITHUB_REPOSITORY/releases\" --jq '.[].tag_name' > \"$RUNNER_TEMP/release-tags\"\n if grep -Fxq \"$TAG\" \"$RUNNER_TEMP/release-tags\"; then\n printf 'RELEASE %s · exists\\n' \"$TAG\"\n else\n gh release create \"$TAG\" --verify-tag --draft --title \"$TAG\" --generate-notes\n printf 'RELEASE %s · draft created · awaiting signed assets\\n' \"$TAG\"\n fi\n - name: Read owner approval\n env:\n GH_TOKEN: ${{ github.token }}\n run: |\n set -euo pipefail\n mkdir .release\n gh release download \"$TAG\" --pattern approval-signed --dir .release\n node dist/cli/verb.js fold --as release .release/approval-signed > .release/verdict\n cat .release/verdict\n - name: Stage the approved release archive\n env:\n GH_TOKEN: ${{ github.token }}\n run: |\n set -euo pipefail\n read -r status digest archive source extra < .release/verdict\n test \"$status\" = READY\n test -z \"$extra\"\n gh release download \"$TAG\" --pattern \"$archive\" --dir .release\n printf '%s %s\\n' \"${digest#sha256:}\" \".release/$archive\" | sha256sum -c -\n expected=\"$(node -p \"require('./package.json').name+'@'+require('./package.json').version\")\"\n actual=\"$(tar -xOf \".release/$archive\" package/package.json | node -p \"const p=JSON.parse(require('fs').readFileSync(0,'utf8'));p.name+'@'+p.version\")\"\n test \"$actual\" = \"$expected\"\n printf 'SOURCE release/%s/%s · %s · declared %s\\n' \"$TAG\" \"$archive\" \"$digest\" \"$source\"\n gh release edit \"$TAG\" --draft=false\n printf 'RELEASE %s · published · %s\\n' \"$TAG\" \"$digest\"\n npm stage publish \".release/$archive\" --access public --ignore-scripts\n printf 'STAGED %s · %s · owner approval pending\\n' \"$actual\" \"$digest\"\n" at=witness:bound-017-automatic-approved-delivery by=target form=alphabet measure=text role=writes scope=prose/en/files/workflow/release shape=.github/workflows/release.yml value=lock
|
|
218
231
|
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
|
|
219
|
-
bound-lock/1 about="name: test\non:\n push:\n branches: [main]\n pull_request:\npermissions:\n contents: read\njobs:\n test:\n strategy:\n fail-fast: false\n matrix:\n node: [22, 24]\n runs-on: ubuntu-latest\n steps:\n - uses: actions/checkout@v4\n with:\n persist-credentials: false\n - uses: actions/setup-node@v4\n with:\n node-version: ${{ matrix.node }}\n - run: npm ci --ignore-scripts\n - run: npm audit signatures\n - run: npm run build\n - name: Run tests\n run: |\n set -euo pipefail\n node --import ./test/setup.ts --test --test-concurrency=1 test/*.test.ts 2>&1 | tee \"$RUNNER_TEMP/bound-tests.log\"\n - name: Form exact archive once\n if: matrix.node == 24\n run: |\n mkdir \"$RUNNER_TEMP/exact\"\n npm run compact-archive -- --from-place . \"$RUNNER_TEMP/exact/lapxo-bound-0.2.
|
|
232
|
+
bound-lock/1 about="name: test\non:\n push:\n branches: [main]\n pull_request:\npermissions:\n contents: read\njobs:\n test:\n strategy:\n fail-fast: false\n matrix:\n node: [22, 24]\n runs-on: ubuntu-latest\n steps:\n - uses: actions/checkout@v4\n with:\n persist-credentials: false\n - uses: actions/setup-node@v4\n with:\n node-version: ${{ matrix.node }}\n - run: npm ci --ignore-scripts\n - run: npm audit signatures\n - run: npm run build\n - name: Run tests\n run: |\n set -euo pipefail\n node --import ./test/setup.ts --test --test-concurrency=1 test/*.test.ts 2>&1 | tee \"$RUNNER_TEMP/bound-tests.log\"\n - name: Form exact archive once\n if: matrix.node == 24\n run: |\n mkdir \"$RUNNER_TEMP/exact\"\n npm run compact-archive -- --from-place . \"$RUNNER_TEMP/exact/lapxo-bound-0.2.6.tgz\"\n - uses: actions/upload-artifact@v4\n if: matrix.node == 24\n with:\n name: bound-exact-archive\n path: ${{ runner.temp }}/exact/lapxo-bound-0.2.6.tgz\n if-no-files-found: error\n - name: Preserve test logs\n if: always()\n uses: actions/upload-artifact@v4\n with:\n name: bound-node-${{ matrix.node }}\n path: ${{ runner.temp }}/bound-tests.log\n if-no-files-found: ignore\n exact_archive:\n needs: test\n runs-on: ubuntu-24.04\n outputs:\n archive_digest: ${{ steps.identity.outputs.archive_digest }}\n steps:\n - uses: actions/download-artifact@v4\n with:\n name: bound-exact-archive\n path: .exact-input\n - id: identity\n run: printf 'archive_digest=sha256:%s\\n' \"$(sha256sum .exact-input/lapxo-bound-0.2.6.tgz | cut -d ' ' -f1)\" >> \"$GITHUB_OUTPUT\"\n portability-ci:\n needs: exact_archive\n permissions:\n contents: read\n actions: read\n strategy:\n fail-fast: false\n matrix:\n os: [ubuntu-24.04, macos-14]\n node: [22, 24]\n runs-on: ${{ matrix.os }}\n steps:\n - uses: actions/checkout@v4\n with:\n persist-credentials: false\n - uses: actions/setup-node@v4\n with:\n node-version: ${{ matrix.node }}\n - run: npm ci --ignore-scripts\n - run: npm audit signatures\n - uses: actions/download-artifact@v4\n with:\n name: bound-exact-archive\n path: .portability-input\n - name: Check installed archive and native attestation\n run: node --experimental-strip-types --test test/portability-installed.test.ts\n env:\n BOUND_PORTABILITY_ARCHIVE: .portability-input/lapxo-bound-0.2.6.tgz\n BOUND_PORTABILITY_DIGEST: ${{ needs.exact_archive.outputs.archive_digest }}\n BOUND_PORTABILITY_CAPTURE: ${{ runner.temp }}/portability-evidence.json\n - uses: actions/upload-artifact@v4\n if: always()\n with:\n name: portability-${{ matrix.os }}-node-${{ matrix.node }}\n path: ${{ runner.temp }}/portability-evidence.json\n if-no-files-found: error\n" at=witness:release-archive-version by=target form=alphabet measure=text role=writes scope=prose/en/files/workflow/test shape=.github/workflows/test.yml value=lock
|
|
220
233
|
bound-lock/1 about="npx @lapxo/bound@0.2.0 fold --as help\nnpx @lapxo/bound@0.2.0 fold" at=policy:bound/020-candidate-metadata by=target form=alphabet measure=text role=writes scope=prose/en/commands value=lock
|
|
221
234
|
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
|
|
222
235
|
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"
|
|
@@ -342,7 +355,7 @@ bound-lock/1 about="the typescript tree world after its released capsule: said,
|
|
|
342
355
|
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/**
|
|
343
356
|
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
|
|
344
357
|
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\""
|
|
345
|
-
bound-lock/1 about="the version this place is bound at" at=
|
|
358
|
+
bound-lock/1 about="the version this place is bound at" at=witness:prospective-version-selection by=target form=alphabet measure=id role=writes scope=version value=0.2.6
|
|
346
359
|
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
|
|
347
360
|
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
|
|
348
361
|
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/<name> 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
|
|
@@ -357,8 +370,10 @@ bound-lock/1 about="what the second head found, which leaves the place has writt
|
|
|
357
370
|
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
|
|
358
371
|
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
|
|
359
372
|
bound-lock/1 about="who signs this place" at=policy:bound/010 by=target form=alphabet measure=id role=writes scope=author value=Lapxo
|
|
373
|
+
bound-lock/1 about="{\"profile\":\"current-rendered-leaves@2\",\"source\":\"applicable declared non-receipt views\",\"ordinaryScope\":\"all applicable outputs\",\"deliveryScope\":\"manifest-selected coordinates captured before copying an already closed source, passed only by the trusted formation recipe\",\"selection\":\"explicit input; never inferred from file absence or chosen by a carrier\",\"producer\":\"existing view renderer\",\"condition\":\"each required output equals its current rendered bytes\",\"open\":\"withhold region counts and byte seals for missing, altered or obsolete selected output\",\"ordinaryFold\":\"ordinary outputs before native receipt projection, including worker outputs\",\"negative\":\"default scope does not exempt missing output; a selected missing or altered leaf cannot close; omitted source-only outputs are not certified present\",\"authority\":\"unchanged; delivery projection grants none\"}" at=witness:materialized-output-boundary by=target form=alphabet measure=text role=writes scope=receipts/rendered-leaves value=lock
|
|
360
374
|
bound-lock/1 about="{\"profile\":\"installed-attest-portability@1\",\"scope\":\"exact-public-root-and-isolated-test-places\",\"authority\":\"ephemeral-fixture-authority-only\",\"keyClass\":\"attest\",\"keyCoverage\":\"sample/south|receipts\",\"prohibitions\":[\"no-production-root-grants\",\"no-production-owner-secret\",\"no-release-signature\",\"no-physical-other-machine-claim\"],\"inputs\":[\"exact-archive-sha256\",\"all-installed-member-bytes\",\"root-check-output-digest\",\"test-implementation\",\"runner-platform\",\"runner-architecture\",\"node-version\"],\"checks\":[\"registered-archive-digest\",\"offline-install-no-runtime-dependencies\",\"all-member-byte-equality\",\"installed-root-check\",\"reference-opening\",\"altered-reference-integrity-refusal\",\"two-separately-formed-places\",\"native-receipt-digest\",\"admitted-attest-signature\",\"uncovered-refusal\",\"altered-signature-refusal\",\"idempotent-replay\",\"withdrawal-preserved\"],\"test\":\"sha256:57dde354c283bf54648756d85a2de62ba3e4eeef57917b3a4c0784b37e9fd26e\",\"workflow\":\"sha256:73d99bc5e646953a3065b7604fb55061c73e53126dc6d9dd0924bbab87781b6f\",\"platforms\":[\"ubuntu-24.04\",\"macos-14\"],\"node\":[22,24],\"evidence\":\"GitHub Actions artifacts only\",\"gate\":\"all jobs of the test workflow must succeed before delivery; this declaration is not a claim that CI has run\",\"physicalOtherMachine\":\"pending\"}" at=policy:build-simplification by=target form=alphabet measure=text role=writes scope=contract/published/portability-ci value=lock
|
|
361
|
-
bound-lock/1 about="{\n \"name\": \"@lapxo/bound\",\n \"version\": \"0.2.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 \"./engine\": {\n \"types\": \"./dist/engine/index.d.ts\",\n \"default\": \"./dist/engine/index.js\"\n },\n \"./wasm\": {\n \"types\": \"./dist/wasm/adapter.d.ts\",\n \"default\": \"./dist/wasm/adapter.js\"\n },\n \"./reference\": {\n \"types\": \"./dist/host/reference-authenticated.d.ts\",\n \"default\": \"./dist/host/reference-authenticated.js\"\n },\n \"./refusals\": \"./docs/contracts/refusals.bound\",\n \"./standing-contract\": \"./docs/contracts/standing.bound\",\n \"./reference/native\": {\n \"types\": \"./dist/host/reference-native-api.d.ts\",\n \"default\": \"./dist/host/reference-native-api.js\"\n },\n \"./closure/native\": {\n \"types\": \"./dist/host/native/module-delivery.d.ts\",\n \"default\": \"./dist/host/native/module-delivery.js\"\n },\n \"./host\": {\n \"types\": \"./dist/host/index.d.ts\",\n \"default\": \"./dist/host/index.js\"\n },\n \"./conformance\": \"./docs/contracts/conformance.json\",\n \"./determinism\": \"./docs/contracts/determinism.bound\"\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 --experimental-strip-types tools/build.ts\",\n \"prepack\": \"npm run build\",\n \"compact-archive\": \"node --experimental-strip-types tools/compact-archive.ts\"\n },\n \"files\": [\n \"LICENSE\",\n \"README.md\",\n \"CONTRIBUTING.md\",\n \"dist/**/*.js\",\n \"dist/cli/verb.d.ts\",\n \"dist/engine/index.d.ts\",\n \"dist/host/reference-authenticated.d.ts\",\n \"dist/host/reference-native-api.d.ts\",\n \"dist/wasm/adapter.d.ts\",\n \"TARGET.bound\",\n \"receipts.bound\",\n \"docs/usage.md\",\n \"docs/readme-assets/atlas.svg\",\n \"docs/contracts/*.md\",\n \"docs/contracts/publication-additions.inventory.json\",\n \"docs/contracts/engine-object-projection.publication.json\",\n \"samples/engine-alphabet/TARGET.bound\",\n \"samples/engine-alphabet/inputs/sample.json\",\n \"samples/engine-alphabet/package.json\",\n \"samples/engine-alphabet/reader.js\",\n \"samples/engine-alphabet/receipts.bound\",\n \"samples/engine-interval/TARGET.bound\",\n \"samples/engine-interval/inputs/sample.json\",\n \"samples/engine-interval/package.json\",\n \"samples/engine-interval/reader.js\",\n \"samples/engine-interval/receipts.bound\",\n \"samples/no/engine-order/TARGET.bound\",\n \"samples/no/engine-order/inputs/sample.json\",\n \"samples/no/engine-order/package.json\",\n \"samples/no/engine-order/reader.js\",\n \"vectors/engine-object.cli.json\",\n \"samples/reference-port/yes/catalog/TARGET.bound\",\n \"samples/reference-port/yes/catalog/standing.json\",\n \"samples/reference-port/no/catalog/standing.json\",\n \"samples/reference-port/yes/catalog/transport.json\",\n \"samples/reference-port/no/catalog/transport.json\",\n \"samples/reference-port/yes/route-notes/TARGET.bound\",\n \"samples/reference-port/yes/route-notes/standing.json\",\n \"samples/reference-port/no/route-notes/standing.json\",\n \"samples/reference-port/yes/route-notes/transport.json\",\n \"samples/reference-port/no/route-notes/transport.json\",\n \"vectors/reference-port.cli.json\",\n \"docs/contracts/reference-port.publication.json\",\n \"assets/wasm/*\",\n \"licenses/wasm/*\",\n \"samples/authenticated-reference/no.json\",\n \"samples/authenticated-reference/yes/editorial-state/TARGET.bound\",\n \"samples/authenticated-reference/yes/editorial-state/inputs/arrival.json\",\n \"samples/authenticated-reference/yes/editorial-state/inputs/coverage.json\",\n \"samples/authenticated-reference/yes/editorial-state/inputs/era.json\",\n \"samples/authenticated-reference/yes/editorial-state/inputs/order.json\",\n \"samples/authenticated-reference/yes/editorial-state/inputs/signature.json\",\n \"samples/authenticated-reference/yes/editorial-state/inputs/transport.arrival.json\",\n \"samples/authenticated-reference/yes/editorial-state/inputs/transport.coverage.json\",\n \"samples/authenticated-reference/yes/editorial-state/inputs/transport.era.json\",\n \"samples/authenticated-reference/yes/editorial-state/inputs/transport.order.json\",\n \"samples/authenticated-reference/yes/editorial-state/inputs/transport.signature.json\",\n \"samples/authenticated-reference/yes/editorial-state/inputs/transport.yes.json\",\n \"samples/authenticated-reference/yes/editorial-state/inputs/yes.json\",\n \"samples/authenticated-reference/yes/weather-reading/TARGET.bound\",\n \"samples/authenticated-reference/yes/weather-reading/inputs/arrival.json\",\n \"samples/authenticated-reference/yes/weather-reading/inputs/coverage.json\",\n \"samples/authenticated-reference/yes/weather-reading/inputs/era.json\",\n \"samples/authenticated-reference/yes/weather-reading/inputs/order.json\",\n \"samples/authenticated-reference/yes/weather-reading/inputs/signature.json\",\n \"samples/authenticated-reference/yes/weather-reading/inputs/transport.arrival.json\",\n \"samples/authenticated-reference/yes/weather-reading/inputs/transport.coverage.json\",\n \"samples/authenticated-reference/yes/weather-reading/inputs/transport.era.json\",\n \"samples/authenticated-reference/yes/weather-reading/inputs/transport.order.json\",\n \"samples/authenticated-reference/yes/weather-reading/inputs/transport.signature.json\",\n \"samples/authenticated-reference/yes/weather-reading/inputs/transport.yes.json\",\n \"samples/authenticated-reference/yes/weather-reading/inputs/yes.json\",\n \"samples/authenticated-reference/yes.json\",\n \"vectors/native/authenticated-reference-formation.vector.json\",\n \"vectors/native/authenticated-reference.cli.json\",\n \"vectors/native/authenticated-reference.vector.json\",\n \"samples/wasm/editorial-notes/TARGET.bound\",\n \"samples/wasm/editorial-notes/esm.bound\",\n \"samples/wasm/editorial-notes/no-deadline.bound\",\n \"samples/wasm/editorial-notes/no-memory.bound\",\n \"samples/wasm/editorial-notes/no-missing-limit.bound\",\n \"samples/wasm/editorial-notes/receipts.bound\",\n \"samples/wasm/water-level/TARGET.bound\",\n \"samples/wasm/water-level/esm.bound\",\n \"samples/wasm/water-level/no-deadline.bound\",\n \"samples/wasm/water-level/no-memory.bound\",\n \"samples/wasm/water-level/no-missing-limit.bound\",\n \"samples/wasm/water-level/receipts.bound\",\n \"vectors/wasm-object.cli.json\",\n \"docs/contracts/optional-wasm-adapter.publication.json\",\n \"docs/contracts/authenticated-reference.publication.json\",\n \"docs/contracts/native-publication.inventory.json\",\n \"docs/contracts/refusals.bound\",\n \"docs/contracts/standing.bound\",\n \"docs/contracts/reference-export.publication.json\",\n \"samples/reference-export/yes.json\",\n \"samples/reference-export/no.json\",\n \"vectors/native/reference-export.vector.json\",\n \"docs/contracts/standing.publication.json\",\n \"samples/standing/yes.json\",\n \"samples/standing/no.json\",\n \"vectors/native/standing.vector.json\",\n \"docs/contracts/refusals.publication.json\",\n \"samples/refusals/yes.json\",\n \"samples/refusals/no.json\",\n \"vectors/native/refusals.vector.json\",\n \"docs/contracts/reference-backend.publication.json\",\n \"samples/reference-backend/yes.json\",\n \"samples/reference-backend/no.json\",\n \"samples/reference-backend/world-fixture.json\",\n \"vectors/native/reference-backend.vector.json\",\n \"samples/authenticated-reference/compatibility.json\",\n \"docs/contracts/host-ports.publication.json\",\n \"samples/host-ports/yes.json\",\n \"samples/host-ports/no.json\",\n \"vectors/native/host-ports.vector.json\",\n \"docs/contracts/readme.publication.json\",\n \"samples/readme/yes.json\",\n \"samples/readme/no.json\",\n \"vectors/native/readme.vector.json\",\n \"samples/engine-place/inputs/closure.json\",\n \"dist/host/native/module-delivery.d.ts\",\n \"docs/contracts/closure-delivery.md\",\n \"docs/contracts/closure-delivery.publication.json\",\n \"samples/module-delivery/inputs/delivery.json\",\n \"samples/no/module-delivery/delivery.json\",\n \"vectors/native/module-delivery.vector.json\",\n \"dist/host/index.d.ts\",\n \"docs/contracts/native-host.publication.json\",\n \"samples/native-host/yes.json\",\n \"samples/native-host/no.json\",\n \"vectors/native/native-host.vector.json\",\n \"CITATION.cff\",\n \"docs/contracts/publication.inventory.json\",\n \"docs/guide.md\",\n \"docs/reference.md\",\n \"docs/why.md\",\n \"docs/contracts/reading-identity.publication.json\",\n \"samples/reading-identity/yes.json\",\n \"samples/reading-identity/no.json\",\n \"vectors/native/reading-identity.vector.json\",\n \"dist/vendor/\",\n \"vendor/syntax/parser.js\",\n \"vendor/syntax/LICENSE.md\",\n \"dist/public-types.d.ts\",\n \"docs/contracts/conformance.json\",\n \"docs/contracts/determinism.bound\"\n ],\n \"author\": \"Lapxo\",\n \"license\": \"MIT\",\n \"devDependencies\": {\n \"@types/node\": \"20.19.43\",\n \"typescript\": \"5.9.3\",\n \"@lapxo/topos\": \"0.2.1\",\n \"@lapxo/obligations\": \"0.4.4\",\n \"esbuild\": \"0.28.2\",\n \"dts-bundle-generator\": \"9.5.1\"\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=policy:build-simplification by=target form=alphabet measure=text role=writes scope=prose/en/files/manifest shape=package.json value=lock
|
|
375
|
+
bound-lock/1 about="{\"profile\":\"unchanged-native-query@1\",\"views\":[\"lines\",\"evidence\"],\"condition\":\"identical consumed inputs and admitted authority\",\"identity\":\"unchanged\",\"result\":\"unchanged\",\"persistedFiles\":\"unchanged, including all ledger and CAS/memo bytes\",\"counter\":\"consumer-owned\",\"vector\":{\"places\":2,\"repetitionsPerView\":8,\"negative\":\"a writing stub fails complete-tree comparison\"},\"limits\":\"existing admitted reading budgets; no constant-time or unrelated-store claim\"}" at=policy:native-reading-contract by=target form=alphabet measure=text role=writes scope=reading-identity/unchanged-query value=lock
|
|
376
|
+
bound-lock/1 about="{\n \"name\": \"@lapxo/bound\",\n \"version\": \"0.2.6\",\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 \"./engine\": {\n \"types\": \"./dist/engine/index.d.ts\",\n \"default\": \"./dist/engine/index.js\"\n },\n \"./wasm\": {\n \"types\": \"./dist/wasm/adapter.d.ts\",\n \"default\": \"./dist/wasm/adapter.js\"\n },\n \"./reference\": {\n \"types\": \"./dist/host/reference-authenticated.d.ts\",\n \"default\": \"./dist/host/reference-authenticated.js\"\n },\n \"./refusals\": \"./docs/contracts/refusals.bound\",\n \"./standing-contract\": \"./docs/contracts/standing.bound\",\n \"./reference/native\": {\n \"types\": \"./dist/host/reference-native-api.d.ts\",\n \"default\": \"./dist/host/reference-native-api.js\"\n },\n \"./closure/native\": {\n \"types\": \"./dist/host/native/module-delivery.d.ts\",\n \"default\": \"./dist/host/native/module-delivery.js\"\n },\n \"./host\": {\n \"types\": \"./dist/host/index.d.ts\",\n \"default\": \"./dist/host/index.js\"\n },\n \"./conformance\": \"./docs/contracts/conformance.json\",\n \"./determinism\": \"./docs/contracts/determinism.bound\",\n \"./profiles\": {\n \"types\": \"./dist/host/profile-composition.d.ts\",\n \"default\": \"./dist/host/profile-composition.js\"\n },\n \"./physical-lines\": {\n \"types\": \"./dist/host/physical-lines.d.ts\",\n \"default\": \"./dist/host/physical-lines.js\"\n },\n \"./package/native\": {\n \"types\": \"./dist/host/native/installed-package.d.ts\",\n \"default\": \"./dist/host/native/installed-package.js\"\n }\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 --experimental-strip-types tools/build.ts\",\n \"prepack\": \"npm run build\",\n \"compact-archive\": \"node --experimental-strip-types tools/compact-archive.ts\"\n },\n \"files\": [\n \"LICENSE\",\n \"README.md\",\n \"CONTRIBUTING.md\",\n \"dist/**/*.js\",\n \"dist/cli/verb.d.ts\",\n \"dist/engine/index.d.ts\",\n \"dist/host/reference-authenticated.d.ts\",\n \"dist/host/reference-native-api.d.ts\",\n \"dist/wasm/adapter.d.ts\",\n \"TARGET.bound\",\n \"receipts.bound\",\n \"docs/usage.md\",\n \"docs/readme-assets/atlas.svg\",\n \"docs/contracts/*.md\",\n \"docs/contracts/publication-additions.inventory.json\",\n \"docs/contracts/engine-object-projection.publication.json\",\n \"samples/engine-alphabet/TARGET.bound\",\n \"samples/engine-alphabet/inputs/sample.json\",\n \"samples/engine-alphabet/package.json\",\n \"samples/engine-alphabet/reader.js\",\n \"samples/engine-alphabet/receipts.bound\",\n \"samples/engine-interval/TARGET.bound\",\n \"samples/engine-interval/inputs/sample.json\",\n \"samples/engine-interval/package.json\",\n \"samples/engine-interval/reader.js\",\n \"samples/engine-interval/receipts.bound\",\n \"samples/no/engine-order/TARGET.bound\",\n \"samples/no/engine-order/inputs/sample.json\",\n \"samples/no/engine-order/package.json\",\n \"samples/no/engine-order/reader.js\",\n \"vectors/engine-object.cli.json\",\n \"samples/reference-port/yes/catalog/TARGET.bound\",\n \"samples/reference-port/yes/catalog/standing.json\",\n \"samples/reference-port/no/catalog/standing.json\",\n \"samples/reference-port/yes/catalog/transport.json\",\n \"samples/reference-port/no/catalog/transport.json\",\n \"samples/reference-port/yes/route-notes/TARGET.bound\",\n \"samples/reference-port/yes/route-notes/standing.json\",\n \"samples/reference-port/no/route-notes/standing.json\",\n \"samples/reference-port/yes/route-notes/transport.json\",\n \"samples/reference-port/no/route-notes/transport.json\",\n \"vectors/reference-port.cli.json\",\n \"docs/contracts/reference-port.publication.json\",\n \"assets/wasm/*\",\n \"licenses/wasm/NOTICE.txt\",\n \"samples/authenticated-reference/no.json\",\n \"samples/authenticated-reference/yes/editorial-state/TARGET.bound\",\n \"samples/authenticated-reference/yes/editorial-state/inputs/arrival.json\",\n \"samples/authenticated-reference/yes/editorial-state/inputs/coverage.json\",\n \"samples/authenticated-reference/yes/editorial-state/inputs/era.json\",\n \"samples/authenticated-reference/yes/editorial-state/inputs/order.json\",\n \"samples/authenticated-reference/yes/editorial-state/inputs/signature.json\",\n \"samples/authenticated-reference/yes/editorial-state/inputs/transport.arrival.json\",\n \"samples/authenticated-reference/yes/editorial-state/inputs/transport.coverage.json\",\n \"samples/authenticated-reference/yes/editorial-state/inputs/transport.era.json\",\n \"samples/authenticated-reference/yes/editorial-state/inputs/transport.order.json\",\n \"samples/authenticated-reference/yes/editorial-state/inputs/transport.signature.json\",\n \"samples/authenticated-reference/yes/editorial-state/inputs/transport.yes.json\",\n \"samples/authenticated-reference/yes/editorial-state/inputs/yes.json\",\n \"samples/authenticated-reference/yes/weather-reading/TARGET.bound\",\n \"samples/authenticated-reference/yes/weather-reading/inputs/arrival.json\",\n \"samples/authenticated-reference/yes/weather-reading/inputs/coverage.json\",\n \"samples/authenticated-reference/yes/weather-reading/inputs/era.json\",\n \"samples/authenticated-reference/yes/weather-reading/inputs/order.json\",\n \"samples/authenticated-reference/yes/weather-reading/inputs/signature.json\",\n \"samples/authenticated-reference/yes/weather-reading/inputs/transport.arrival.json\",\n \"samples/authenticated-reference/yes/weather-reading/inputs/transport.coverage.json\",\n \"samples/authenticated-reference/yes/weather-reading/inputs/transport.era.json\",\n \"samples/authenticated-reference/yes/weather-reading/inputs/transport.order.json\",\n \"samples/authenticated-reference/yes/weather-reading/inputs/transport.signature.json\",\n \"samples/authenticated-reference/yes/weather-reading/inputs/transport.yes.json\",\n \"samples/authenticated-reference/yes/weather-reading/inputs/yes.json\",\n \"samples/authenticated-reference/yes.json\",\n \"vectors/native/authenticated-reference-formation.vector.json\",\n \"vectors/native/authenticated-reference.cli.json\",\n \"vectors/native/authenticated-reference.vector.json\",\n \"samples/wasm/editorial-notes/TARGET.bound\",\n \"samples/wasm/editorial-notes/esm.bound\",\n \"samples/wasm/editorial-notes/no-deadline.bound\",\n \"samples/wasm/editorial-notes/no-memory.bound\",\n \"samples/wasm/editorial-notes/no-missing-limit.bound\",\n \"samples/wasm/editorial-notes/receipts.bound\",\n \"samples/wasm/water-level/TARGET.bound\",\n \"samples/wasm/water-level/esm.bound\",\n \"samples/wasm/water-level/no-deadline.bound\",\n \"samples/wasm/water-level/no-memory.bound\",\n \"samples/wasm/water-level/no-missing-limit.bound\",\n \"samples/wasm/water-level/receipts.bound\",\n \"vectors/wasm-object.cli.json\",\n \"docs/contracts/optional-wasm-adapter.publication.json\",\n \"docs/contracts/authenticated-reference.publication.json\",\n \"docs/contracts/native-publication.inventory.json\",\n \"docs/contracts/refusals.bound\",\n \"docs/contracts/standing.bound\",\n \"docs/contracts/reference-export.publication.json\",\n \"samples/reference-export/yes.json\",\n \"samples/reference-export/no.json\",\n \"vectors/native/reference-export.vector.json\",\n \"docs/contracts/standing.publication.json\",\n \"samples/standing/yes.json\",\n \"samples/standing/no.json\",\n \"vectors/native/standing.vector.json\",\n \"docs/contracts/refusals.publication.json\",\n \"samples/refusals/yes.json\",\n \"samples/refusals/no.json\",\n \"vectors/native/refusals.vector.json\",\n \"docs/contracts/reference-backend.publication.json\",\n \"samples/reference-backend/yes.json\",\n \"samples/reference-backend/no.json\",\n \"samples/reference-backend/world-fixture.json\",\n \"vectors/native/reference-backend.vector.json\",\n \"samples/authenticated-reference/compatibility.json\",\n \"docs/contracts/host-ports.publication.json\",\n \"samples/host-ports/yes.json\",\n \"samples/host-ports/no.json\",\n \"vectors/native/host-ports.vector.json\",\n \"docs/contracts/readme.publication.json\",\n \"samples/readme/yes.json\",\n \"samples/readme/no.json\",\n \"vectors/native/readme.vector.json\",\n \"samples/engine-place/inputs/closure.json\",\n \"dist/host/native/module-delivery.d.ts\",\n \"docs/contracts/closure-delivery.md\",\n \"docs/contracts/closure-delivery.publication.json\",\n \"samples/module-delivery/inputs/delivery.json\",\n \"samples/no/module-delivery/delivery.json\",\n \"vectors/native/module-delivery.vector.json\",\n \"dist/host/index.d.ts\",\n \"docs/contracts/native-host.publication.json\",\n \"samples/native-host/yes.json\",\n \"samples/native-host/no.json\",\n \"vectors/native/native-host.vector.json\",\n \"CITATION.cff\",\n \"docs/contracts/publication.inventory.json\",\n \"docs/guide.md\",\n \"docs/reference.md\",\n \"docs/why.md\",\n \"docs/contracts/reading-identity.publication.json\",\n \"samples/reading-identity/yes.json\",\n \"samples/reading-identity/no.json\",\n \"vectors/native/reading-identity.vector.json\",\n \"dist/vendor/\",\n \"vendor/syntax/parser.js\",\n \"vendor/syntax/LICENSE.md\",\n \"dist/public-types.d.ts\",\n \"docs/contracts/conformance.json\",\n \"docs/contracts/determinism.bound\",\n \"docs/contracts/module-inventory.publication.json\",\n \"vectors/native/module-inventory.vector.json\",\n \"samples/module-inventory/yes.json\",\n \"samples/no/module-inventory/no.json\",\n \"!dist/vendor/sources.json\",\n \"docs/contracts/native-view-batch.md\",\n \"vectors/native/native-view-batch.vector.json\",\n \"docs/contracts/native-probes.md\",\n \"docs/contracts/native-probes.publication.json\",\n \"samples/native-probes/inputs/inspection.json\",\n \"vectors/native/native-probes.vector.json\",\n \"docs/contracts/physical-lines.md\",\n \"docs/contracts/profile-composition.md\",\n \"vectors/native/profile-composition.vector.json\",\n \"docs/contracts/installed-package.md\",\n \"samples/installed-package/fixture.json\",\n \"samples/installed-package/consumer.mjs\",\n \"vectors/native/installed-package.vector.json\",\n \"docs/contracts/materialized-leaf-sequence.md\",\n \"dist/host/profile-composition.d.ts\",\n \"dist/host/physical-lines.d.ts\",\n \"dist/host/native/installed-package.d.ts\",\n \"docs/contracts/installed-package.publication.json\",\n \"docs/contracts/materialized-leaf-sequence.publication.json\",\n \"docs/contracts/native-view-batch.publication.json\",\n \"docs/contracts/physical-lines.publication.json\",\n \"docs/contracts/profile-composition.publication.json\",\n \"samples/installed-package/no.json\",\n \"samples/installed-package/yes.json\",\n \"samples/materialized-leaf-sequence/no.json\",\n \"samples/materialized-leaf-sequence/yes.json\",\n \"samples/native-probes/no.json\",\n \"samples/native-probes/yes.json\",\n \"samples/native-view-batch/no.json\",\n \"samples/native-view-batch/yes.json\",\n \"samples/physical-lines/no.json\",\n \"samples/physical-lines/yes.json\",\n \"samples/profile-composition/no.json\",\n \"samples/profile-composition/yes.json\",\n \"vectors/native/materialized-leaf-sequence.vector.json\",\n \"vectors/native/physical-lines.vector.json\",\n \"samples/native/physical-line-reader.source.mjs\",\n \"samples/native/physical-line-reader.mjs\",\n \"docs/contracts/reading-witness-admission.md\",\n \"docs/contracts/profile-preparation-native-meaning.md\",\n \"docs/contracts/authority-preflight.publication.json\",\n \"samples/authority-preflight/yes.json\",\n \"samples/authority-preflight/no.json\",\n \"vectors/native/authority-preflight.vector.json\"\n ],\n \"author\": \"Lapxo\",\n \"license\": \"MIT\",\n \"devDependencies\": {\n \"@lapxo/obligations\": \"0.4.7\",\n \"@lapxo/topos\": \"0.2.4\",\n \"@types/node\": \"20.19.43\",\n \"dts-bundle-generator\": \"9.5.1\",\n \"esbuild\": \"0.28.2\",\n \"typescript\": \"5.9.3\"\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:prospective-version-selection by=target form=alphabet measure=text role=writes scope=prose/en/files/manifest shape=package.json value=lock
|
|
362
377
|
bound-lock/1 about="{\n \"profile\": \"quartet-process@1\",\n \"scope\": \"contract/published/additions\",\n \"surface\": [\n \"contract/published/engine-object-projection\",\n \"contract/published/reference-port\"\n ]\n}\n" at=policy:bound/020-publication-additions by=target form=alphabet measure=text role=writes scope=prose/en/files/publication-additions-inventory shape=docs/contracts/publication-additions.inventory.json value=lock
|
|
363
378
|
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
|
|
364
379
|
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
|
|
@@ -459,15 +474,15 @@ bound-lock/1 at=policy:bound/views by=target form=alphabet measure=id role=deman
|
|
|
459
474
|
bound-lock/1 at=policy:bound/views by=target form=alphabet measure=id role=demands scope=view/why value=why
|
|
460
475
|
bound-lock/1 at=policy:bound022/ep-retained-reader-delivery by=target form=alphabet measure=id role=writes scope=sources/ep-closure-reader value=https://github.com/Lapxo/bound/releases/download/v0.2.2/E-P-closure-reader-standing.bound
|
|
461
476
|
bound-lock/1 at=policy:bound022/ep-retained-reader-delivery by=target form=alphabet measure=id role=writes scope=sources/runtime-ep-closure-reader value=https://github.com/Lapxo/bound/releases/download/v0.2.2/ep-closure-adapter.tgz
|
|
462
|
-
bound-lock/1 at=policy:build-simplification by=target form=alphabet measure=digest role=writes scope=dep/runtime-native-publication shape=dist/provider.js value=sha256:4a4b4f20858666b3a30f835087c1a2a81e2e669bbb51fd3a4f1202cea6c28352
|
|
463
|
-
bound-lock/1 at=policy:build-simplification by=target form=alphabet measure=digest role=writes scope=dep/runtime-process-readings shape=dist/index.js value=sha256:dd688a432e0b6bb02870ee9b9e4772cb57439446a685ce79dd62429791b36d0c
|
|
464
|
-
bound-lock/1 at=policy:build-simplification by=target form=alphabet measure=digest role=writes scope=dep/runtime-publication-readings shape=dist/provider.js value=sha256:ec52f4d9667a703cdc383b37d47ffbfc20be88abd689c3a3f53c49c525cf9021
|
|
465
|
-
bound-lock/1 at=policy:build-simplification by=target form=alphabet measure=digest role=writes scope=dep/runtime-source-readings shape=dist/index.js value=sha256:66eec165a6df353c0936806a088750a9b9e84e15cf1a66ac8481676f554295c3
|
|
466
|
-
bound-lock/1 at=policy:build-simplification by=target form=alphabet measure=digest role=writes scope=uses/native-publication value=sha256:cff45233e8e268d02ce575b17a98d3a86e1d8fe7ccc53396079b14b018d557ab
|
|
467
|
-
bound-lock/1 at=policy:build-simplification by=target form=alphabet measure=digest role=writes scope=uses/publication-readings value=sha256:06106e619733bd4518611e3317d4cd7fd32933ede9eeab0629b41afbbe04bba5
|
|
468
|
-
bound-lock/1 at=policy:build-simplification by=target form=alphabet measure=digest role=writes scope=uses/source-readings value=sha256:62fd2ad2f7c9decc40da34fbdfe2e9b61ceb94ef638b5bebd89d4cb585051abd
|
|
469
477
|
bound-lock/1 at=policy:complete-reading-identity by=target form=alphabet measure=id role=writes scope=wire/reading-context value=reading-context@1
|
|
470
478
|
bound-lock/1 at=policy:complete-reading-identity by=target form=alphabet measure=id role=writes scope=wire/reading-receipt value=reading-receipt@1
|
|
479
|
+
bound-lock/1 at=policy:consumer-native-contract by=target form=alphabet measure=id needs=docs/contracts/authority-preflight.md role=demands scope=view/contract-authority-preflight shape=docs/contracts/authority-preflight.md value=text@3
|
|
480
|
+
bound-lock/1 at=policy:consumer-native-contract by=target form=alphabet measure=id needs=docs/contracts/installed-package.md role=demands scope=view/contract-installed-package shape=docs/contracts/installed-package.md value=text@3
|
|
481
|
+
bound-lock/1 at=policy:consumer-native-contract by=target form=alphabet measure=id needs=docs/contracts/materialized-leaf-sequence.md role=demands scope=view/contract-materialized-leaf-sequence shape=docs/contracts/materialized-leaf-sequence.md value=text@3
|
|
482
|
+
bound-lock/1 at=policy:consumer-native-contract by=target form=alphabet measure=id needs=docs/contracts/native-probes.md role=demands scope=view/contract-native-probes shape=docs/contracts/native-probes.md value=text@3
|
|
483
|
+
bound-lock/1 at=policy:consumer-native-contract by=target form=alphabet measure=id needs=docs/contracts/native-view-batch.md role=demands scope=view/contract-native-view-batch shape=docs/contracts/native-view-batch.md value=text@3
|
|
484
|
+
bound-lock/1 at=policy:consumer-native-contract by=target form=alphabet measure=id needs=docs/contracts/physical-lines.md role=demands scope=view/contract-physical-lines shape=docs/contracts/physical-lines.md value=text@3
|
|
485
|
+
bound-lock/1 at=policy:consumer-native-contract by=target form=alphabet measure=id needs=docs/contracts/profile-composition.md role=demands scope=view/contract-profile-composition shape=docs/contracts/profile-composition.md value=text@3
|
|
471
486
|
bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=code role=writes scope=refusal/host/act value=host/act
|
|
472
487
|
bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=code role=writes scope=refusal/host/act-unavailable value=host/act-unavailable
|
|
473
488
|
bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=code role=writes scope=refusal/host/budget value=host/budget
|
|
@@ -498,42 +513,32 @@ bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=next role
|
|
|
498
513
|
bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=next role=writes scope=refusal/host/snapshot-format value=provide-canonical-snapshot
|
|
499
514
|
bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=next role=writes scope=refusal/host/stale value=refresh-root-snapshot
|
|
500
515
|
bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=next role=writes scope=refusal/host/vocabulary-unavailable value=provide-supported-vocabulary
|
|
516
|
+
bound-lock/1 at=policy:delivery-deduplication by=target form=alphabet measure=id role=demands scope=view/files/wasm-notices value=text@3
|
|
501
517
|
bound-lock/1 at=policy:existing-instrument-kinds by=target form=alphabet measure=id role=writes scope=wire/kinds value=axiom|definition|theorem|corollary|form|check|capsule|process|conjecture
|
|
502
518
|
bound-lock/1 at=policy:host/declared-vocabulary by=target form=alphabet measure=id role=reads scope=wire/states value=absent|present|unread|withdraw
|
|
503
519
|
bound-lock/1 at=policy:host/declared-vocabulary by=target form=alphabet measure=id role=reads scope=wire/templates value={cone}|{roots}
|
|
504
520
|
bound-lock/1 at=policy:instrument/cryptography by=target form=alphabet measure=id role=reads scope=wire/digest-algorithms value=sha256:era1
|
|
505
521
|
bound-lock/1 at=policy:instrument/cryptography by=target form=alphabet measure=id role=reads scope=wire/era value=era1
|
|
506
522
|
bound-lock/1 at=policy:instrument/cryptography by=target form=alphabet measure=id role=reads scope=wire/signature-algorithms value=ed25519|sha256:58f1f0983fe65f062bebefd0a6ffc901049c67525ef12dd86ed4dbb7a184b834|ed25519:era1
|
|
523
|
+
bound-lock/1 at=policy:module-inventory-and-identity by=target form=alphabet measure=id needs=docs/contracts/module-inventory.md role=demands scope=view/contract-module-inventory shape=docs/contracts/module-inventory.md value=text@3
|
|
524
|
+
bound-lock/1 at=policy:module-inventory-and-identity by=target form=alphabet measure=id role=writes scope=sources/native-publication value=https://github.com/Lapxo/bound/releases/download/v0.2.6/native-standing.bound
|
|
525
|
+
bound-lock/1 at=policy:module-inventory-and-identity by=target form=alphabet measure=id role=writes scope=sources/process-readings value=https://github.com/Lapxo/bound/releases/download/v0.2.6/process-standing.bound
|
|
526
|
+
bound-lock/1 at=policy:module-inventory-and-identity by=target form=alphabet measure=id role=writes scope=sources/publication-readings value=https://github.com/Lapxo/bound/releases/download/v0.2.6/legacy-standing.bound
|
|
527
|
+
bound-lock/1 at=policy:module-inventory-and-identity by=target form=alphabet measure=id role=writes scope=sources/runtime-native-publication value=https://github.com/Lapxo/bound/releases/download/v0.2.6/native-readings.tgz
|
|
528
|
+
bound-lock/1 at=policy:module-inventory-and-identity by=target form=alphabet measure=id role=writes scope=sources/runtime-process-readings value=https://github.com/Lapxo/bound/releases/download/v0.2.6/process-readings.tgz
|
|
529
|
+
bound-lock/1 at=policy:module-inventory-and-identity by=target form=alphabet measure=id role=writes scope=sources/runtime-publication-readings value=https://github.com/Lapxo/bound/releases/download/v0.2.6/legacy-readings.tgz
|
|
530
|
+
bound-lock/1 at=policy:module-inventory-and-identity by=target form=alphabet measure=id role=writes scope=sources/runtime-source-readings value=https://github.com/Lapxo/bound/releases/download/v0.2.6/source-readings.tgz
|
|
531
|
+
bound-lock/1 at=policy:module-inventory-and-identity by=target form=alphabet measure=id role=writes scope=sources/source-readings value=https://github.com/Lapxo/bound/releases/download/v0.2.6/source-standing.bound
|
|
507
532
|
bound-lock/1 at=policy:native-host by=target form=alphabet measure=id needs=docs/contracts/native-host.md role=demands scope=view/native-host-contract shape=docs/contracts/native-host.md value=text@3
|
|
508
|
-
bound-lock/1 at=policy:native-view-identity by=target form=alphabet measure=digest role=writes scope=dep/runtime-publication-additions shape=dist/provider.js value=sha256:a93deb9660805a85fa2e6128db93fbd27f888589011c71117b834c6907fe40a0
|
|
509
|
-
bound-lock/1 at=policy:native-view-identity by=target form=alphabet measure=digest role=writes scope=uses/publication-additions value=sha256:5b4127e63d0f89a99987ddee27d24bcbf13ad71d3310e642a90d99bc7de293a9
|
|
510
533
|
bound-lock/1 at=policy:project/local-journals by=target form=alphabet measure=class role=writes scope=keys/fold value=fold
|
|
511
534
|
bound-lock/1 at=policy:project/local-journals by=target form=alphabet measure=class role=writes scope=keys/reader value=read
|
|
512
535
|
bound-lock/1 at=policy:prose/render-contract by=target form=alphabet measure=digest role=writes scope=uses/prose-render value=sha256:8b678e37f1fe656a5c456f09c0d57020e3aeddb8acec2b5ffc92054a3ce26c3b
|
|
513
536
|
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
|
|
514
|
-
bound-lock/1 at=policy:public-build-conformance by=target form=alphabet measure=coordinates role=writes scope=region/native-publication value=README.md|dist/**|docs/contracts/authenticated-reference.publication.json|docs/contracts/engine.md|docs/contracts/host-ports.md|docs/contracts/host-ports.publication.json|docs/contracts/native-publication.inventory.json|docs/contracts/optional-wasm-adapter.publication.json|docs/contracts/readme.publication.json|docs/contracts/reference-backend.md|docs/contracts/reference-backend.publication.json|docs/contracts/reference-export.md|docs/contracts/reference-export.publication.json|docs/contracts/reference-port.md|docs/contracts/refusals.bound|docs/contracts/refusals.md|docs/contracts/refusals.publication.json|docs/contracts/standing.bound|docs/contracts/standing.md|docs/contracts/standing.publication.json|samples/authenticated-reference/compatibility.json|samples/authenticated-reference/no.json|samples/authenticated-reference/yes.json|samples/authenticated-reference/yes/editorial-state/TARGET.bound|samples/authenticated-reference/yes/editorial-state/inputs/arrival.json|samples/authenticated-reference/yes/editorial-state/inputs/coverage.json|samples/authenticated-reference/yes/editorial-state/inputs/era.json|samples/authenticated-reference/yes/editorial-state/inputs/order.json|samples/authenticated-reference/yes/editorial-state/inputs/signature.json|samples/authenticated-reference/yes/editorial-state/inputs/transport.arrival.json|samples/authenticated-reference/yes/editorial-state/inputs/transport.coverage.json|samples/authenticated-reference/yes/editorial-state/inputs/transport.era.json|samples/authenticated-reference/yes/editorial-state/inputs/transport.order.json|samples/authenticated-reference/yes/editorial-state/inputs/transport.signature.json|samples/authenticated-reference/yes/editorial-state/inputs/transport.yes.json|samples/authenticated-reference/yes/editorial-state/inputs/yes.json|samples/authenticated-reference/yes/weather-reading/TARGET.bound|samples/authenticated-reference/yes/weather-reading/inputs/arrival.json|samples/authenticated-reference/yes/weather-reading/inputs/coverage.json|samples/authenticated-reference/yes/weather-reading/inputs/era.json|samples/authenticated-reference/yes/weather-reading/inputs/order.json|samples/authenticated-reference/yes/weather-reading/inputs/signature.json|samples/authenticated-reference/yes/weather-reading/inputs/transport.arrival.json|samples/authenticated-reference/yes/weather-reading/inputs/transport.coverage.json|samples/authenticated-reference/yes/weather-reading/inputs/transport.era.json|samples/authenticated-reference/yes/weather-reading/inputs/transport.order.json|samples/authenticated-reference/yes/weather-reading/inputs/transport.signature.json|samples/authenticated-reference/yes/weather-reading/inputs/transport.yes.json|samples/authenticated-reference/yes/weather-reading/inputs/yes.json|samples/host-ports/no.json|samples/host-ports/yes.json|samples/readme/no.json|samples/readme/yes.json|samples/reference-backend/no.json|samples/reference-backend/world-fixture.json|samples/reference-backend/yes.json|samples/reference-export/no.json|samples/reference-export/yes.json|samples/refusals/no.json|samples/refusals/yes.json|samples/standing/no.json|samples/standing/yes.json|samples/wasm/editorial-notes/TARGET.bound|samples/wasm/editorial-notes/esm.bound|samples/wasm/editorial-notes/no-deadline.bound|samples/wasm/editorial-notes/no-memory.bound|samples/wasm/editorial-notes/no-missing-limit.bound|samples/wasm/editorial-notes/receipts.bound|samples/wasm/water-level/TARGET.bound|samples/wasm/water-level/esm.bound|samples/wasm/water-level/no-deadline.bound|samples/wasm/water-level/no-memory.bound|samples/wasm/water-level/no-missing-limit.bound|samples/wasm/water-level/receipts.bound|vectors/native/authenticated-reference-formation.vector.json|vectors/native/authenticated-reference.cli.json|vectors/native/authenticated-reference.vector.json|vectors/native/host-ports.vector.json|vectors/native/readme.vector.json|vectors/native/reference-backend.vector.json|vectors/native/reference-export.vector.json|vectors/native/refusals.vector.json|vectors/native/standing.vector.json|vectors/wasm-object.cli.json|docs/contracts/native-host.md|docs/contracts/native-host.publication.json|samples/native-host/yes.json|samples/native-host/no.json|vectors/native/native-host.vector.json|docs/contracts/reading-identity.md|docs/contracts/reading-identity.publication.json|samples/reading-identity/yes.json|samples/reading-identity/no.json|vectors/native/reading-identity.vector.json|vendor/syntax/parser.js|vendor/syntax/LICENSE.md|docs/contracts/conformance.json|docs/contracts/determinism.bound
|
|
515
537
|
bound-lock/1 at=policy:public-build-conformance by=target form=alphabet measure=digest needs=docs/contracts/conformance.json role=writes scope=contract/source/conformance value=sha256:d0eff9dbbd06ca8976d9bcacfdcfec99499098610f7881650e3965ccc89e83c2
|
|
516
538
|
bound-lock/1 at=policy:public-build-conformance by=target form=alphabet measure=digest needs=docs/contracts/determinism.bound role=writes scope=contract/source/determinism value=sha256:2449f493890b6656b19fd06d6c5f0830100c330f080eb978ff95929eb70a9a19
|
|
517
|
-
bound-lock/1 at=policy:public-build-conformance by=target form=alphabet measure=digest needs=docs/contracts/refusals.bound role=writes scope=contract/source/refusals value=sha256:43ed58b59e44a0d8138591d6eced7aaa64091830c17e5d9c91eb83a5da235b9d
|
|
518
|
-
bound-lock/1 at=policy:public-build-conformance by=target form=alphabet measure=id role=writes scope=sources/obligations value=https://registry.npmjs.org/@lapxo/obligations/-/obligations-0.4.4.tgz
|
|
519
539
|
bound-lock/1 at=policy:public-reading-identity by=target form=alphabet measure=id needs=docs/contracts/reading-identity.md role=demands scope=view/contract-reading-identity shape=docs/contracts/reading-identity.md value=text@3
|
|
520
|
-
bound-lock/1 at=policy:public-reading-identity by=target form=alphabet measure=id role=writes scope=release/category/contract value=contract/published|contract/published/additions|contract/published/authenticated-reference|contract/published/optional-wasm-adapter|engine/prerequisite/**|contract/published/reference-export|contract/published/reference-backend|contract/published/standing|contract/published/refusals|contract/published/host-ports|contract/published/readme|delivery/violations|contract/published/reading-identity
|
|
521
|
-
bound-lock/1 at=policy:public-reading-identity by=target form=alphabet measure=id role=writes scope=sources/native-publication value=https://github.com/Lapxo/bound/releases/download/v0.2.5/native-standing.bound
|
|
522
|
-
bound-lock/1 at=policy:public-reading-identity by=target form=alphabet measure=id role=writes scope=sources/process-readings value=https://github.com/Lapxo/bound/releases/download/v0.2.5/process-standing.bound
|
|
523
|
-
bound-lock/1 at=policy:public-reading-identity by=target form=alphabet measure=id role=writes scope=sources/publication-readings value=https://github.com/Lapxo/bound/releases/download/v0.2.5/legacy-standing.bound
|
|
524
|
-
bound-lock/1 at=policy:public-reading-identity by=target form=alphabet measure=id role=writes scope=sources/runtime-native-publication value=https://github.com/Lapxo/bound/releases/download/v0.2.5/native-readings.tgz
|
|
525
|
-
bound-lock/1 at=policy:public-reading-identity by=target form=alphabet measure=id role=writes scope=sources/runtime-process-readings value=https://github.com/Lapxo/bound/releases/download/v0.2.5/process-readings.tgz
|
|
526
|
-
bound-lock/1 at=policy:public-reading-identity by=target form=alphabet measure=id role=writes scope=sources/runtime-publication-readings value=https://github.com/Lapxo/bound/releases/download/v0.2.5/legacy-readings.tgz
|
|
527
|
-
bound-lock/1 at=policy:public-reading-identity by=target form=alphabet measure=id role=writes scope=sources/runtime-source-readings value=https://github.com/Lapxo/bound/releases/download/v0.2.5/source-readings.tgz
|
|
528
|
-
bound-lock/1 at=policy:public-reading-identity by=target form=alphabet measure=id role=writes scope=sources/source-readings value=https://github.com/Lapxo/bound/releases/download/v0.2.5/source-standing.bound
|
|
529
|
-
bound-lock/1 at=policy:public-reading-identity by=target form=alphabet measure=receipts role=writes scope=region/native-publication value=contract/published/optional-wasm-adapter|contract/published/authenticated-reference|contract/published/native|docs/contracts/**|samples/**|vectors/**|contract/published/reference-export|contract/published/reference-backend|contract/published/standing|contract/published/refusals|contract/published/host-ports|contract/published/readme|contract/published/native-host|contract/published/reading-identity
|
|
530
|
-
bound-lock/1 at=policy:publication-standing-projection by=target form=alphabet measure=id role=writes scope=sources/publication-additions value=https://github.com/Lapxo/bound/releases/download/v0.2.5/publication-additions-standing.bound
|
|
531
|
-
bound-lock/1 at=policy:publication-standing-projection by=target form=alphabet measure=id role=writes scope=sources/runtime-publication-additions value=https://github.com/Lapxo/bound/releases/download/v0.2.5/publication-additions-readings.tgz
|
|
532
540
|
bound-lock/1 at=policy:retained-compact-build by=target form=alphabet measure=coordinates role=writes scope=region/publication value=docs/contracts/*.md|docs/contracts/archive-conformance.publication.json|docs/contracts/attest-evidence.publication.json|docs/contracts/cli-fold.publication.json|docs/contracts/cli-land.publication.json|docs/contracts/cli-sign.publication.json|docs/contracts/typed-object.publication.json|docs/contracts/view-card.publication.json|docs/contracts/view-citation-file.publication.json|docs/contracts/view-explanation.publication.json|docs/contracts/view-guide.publication.json|docs/contracts/view-help.publication.json|docs/contracts/view-lines.publication.json|docs/contracts/view-manifest-render.publication.json|docs/contracts/view-programs.publication.json|docs/contracts/view-readme-historical.publication.json|docs/contracts/view-receipts.publication.json|docs/contracts/view-reference.publication.json|docs/contracts/view-release-workflow-render.publication.json|docs/contracts/view-tsconfig.publication.json|docs/contracts/view-usage-profile.publication.json|docs/contracts/view-walk.publication.json|docs/contracts/view-why.publication.json|docs/contracts/publication.inventory.json|samples/**|vectors/**|tools/publication/**|tools/samples/**|dist/**|package.json|TARGET.bound|vendor/syntax/parser.js|vendor/syntax/LICENSE.md
|
|
533
541
|
bound-lock/1 at=policy:retained-compact-build by=target form=alphabet measure=coordinates role=writes scope=region/publication-additions value=TARGET.bound|dist/**|docs/contracts/engine-object-projection.publication.json|docs/contracts/engine.md|docs/contracts/publication-additions.inventory.json|docs/contracts/reference-port.md|docs/contracts/reference-port.publication.json|package.json|samples/engine-alphabet/TARGET.bound|samples/engine-alphabet/inputs/sample.json|samples/engine-alphabet/package.json|samples/engine-alphabet/reader.js|samples/engine-alphabet/receipts.bound|samples/engine-interval/TARGET.bound|samples/engine-interval/inputs/sample.json|samples/engine-interval/package.json|samples/engine-interval/reader.js|samples/engine-interval/receipts.bound|samples/no/engine-order/TARGET.bound|samples/no/engine-order/inputs/sample.json|samples/no/engine-order/package.json|samples/no/engine-order/reader.js|samples/reference-port/no/catalog/standing.json|samples/reference-port/no/catalog/transport.json|samples/reference-port/no/route-notes/standing.json|samples/reference-port/no/route-notes/transport.json|samples/reference-port/yes/catalog/TARGET.bound|samples/reference-port/yes/catalog/standing.json|samples/reference-port/yes/catalog/transport.json|samples/reference-port/yes/route-notes/TARGET.bound|samples/reference-port/yes/route-notes/standing.json|samples/reference-port/yes/route-notes/transport.json|vectors/engine-object.cli.json|vectors/reference-port.cli.json|vendor/syntax/parser.js|vendor/syntax/LICENSE.md
|
|
534
|
-
bound-lock/1 at=policy:selected-library-license by=target form=alphabet measure=coordinates role=reads scope=region/captures value=dist/**/*.js|TARGET.bound|package.json|dist/cli/verb.d.ts|dist/engine/index.d.ts|dist/host/index.d.ts|dist/host/native/module-delivery.d.ts|dist/host/reference-authenticated.d.ts|dist/host/reference-native-api.d.ts|dist/public-types.d.ts|dist/vendor/b3e938d28f88a1851af303a40c749e12ebd5a686daac4f0b343b5cdd2e040419.LICENSE|dist/vendor/50086958553b9376d600583f7dff354196bfeb41170fc6d1482ca7bea7c493e2.LICENSE|dist/vendor/bundle.json|dist/vendor/sources.json|dist/wasm/adapter.d.ts|vendor/syntax/LICENSE.md|vendor/syntax/parser.js
|
|
535
|
-
bound-lock/1 at=policy:selected-library-license by=target form=alphabet measure=coordinates role=reads scope=region/source value=dist/**/*.js|dist/cli/verb.d.ts|dist/engine/index.d.ts|dist/host/index.d.ts|dist/host/native/module-delivery.d.ts|dist/host/reference-authenticated.d.ts|dist/host/reference-native-api.d.ts|dist/public-types.d.ts|dist/vendor/b3e938d28f88a1851af303a40c749e12ebd5a686daac4f0b343b5cdd2e040419.LICENSE|dist/vendor/50086958553b9376d600583f7dff354196bfeb41170fc6d1482ca7bea7c493e2.LICENSE|dist/vendor/bundle.json|dist/vendor/sources.json|dist/wasm/adapter.d.ts|vendor/syntax/LICENSE.md|vendor/syntax/parser.js
|
|
536
|
-
bound-lock/1 at=policy:selected-library-license by=target form=alphabet measure=coordinates role=reads scope=region/vectors value=dist/**/*.js|TARGET.bound|package.json|dist/cli/verb.d.ts|dist/engine/index.d.ts|dist/host/index.d.ts|dist/host/native/module-delivery.d.ts|dist/host/reference-authenticated.d.ts|dist/host/reference-native-api.d.ts|dist/public-types.d.ts|dist/vendor/b3e938d28f88a1851af303a40c749e12ebd5a686daac4f0b343b5cdd2e040419.LICENSE|dist/vendor/50086958553b9376d600583f7dff354196bfeb41170fc6d1482ca7bea7c493e2.LICENSE|dist/vendor/bundle.json|dist/vendor/sources.json|dist/wasm/adapter.d.ts|vendor/syntax/LICENSE.md|vendor/syntax/parser.js
|
|
537
542
|
bound-lock/1 at=policy:selected-wire by=target form=alphabet measure=digest role=writes scope=uses/wire value=sha256:a717c60945add1facfd822b3ee2da73a8fa2f781dd0aa2de9be778e66b8f3591
|
|
538
543
|
bound-lock/1 at=witness:bound/015-hermetic-render-closure by=target form=alphabet measure=digest role=writes scope=uses/rendering value=sha256:c0094dc8c916b3c8ea9df19666816a28230c01808e5d792833c156e8d454a2f0
|
|
539
544
|
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
|
|
@@ -551,7 +556,6 @@ bound-lock/1 at=witness:bound021-final-bindings by=target form=alphabet measure=
|
|
|
551
556
|
bound-lock/1 at=witness:bound021-final-bindings by=target form=alphabet measure=reads role=writes scope=region/contract-reference-export value=prose/en/files/contract-reference-export
|
|
552
557
|
bound-lock/1 at=witness:bound021-final-bindings by=target form=alphabet measure=reads role=writes scope=region/contract-refusals value=prose/en/files/contract-refusals
|
|
553
558
|
bound-lock/1 at=witness:bound021-final-bindings by=target form=alphabet measure=reads role=writes scope=region/contract-standing value=prose/en/files/contract-standing
|
|
554
|
-
bound-lock/1 at=witness:bound022-publication-image-and-context by=target form=alphabet measure=digest needs=README.md role=writes scope=contract/source/readme value=sha256:bc8277eaef68f8ab8a049607003502a1979fb58a36f9468d6224ec14df7e131f
|
|
555
559
|
bound-lock/1 at=witness:bound022/ep-complete-reading by=target form=alphabet measure=digest role=writes scope=dep/ep-closure-reader shape=entry.js value=sha256:4644ac239def863f6de1af850672a2435274eafff0974b187355597454faf34b
|
|
556
560
|
bound-lock/1 at=witness:bound022/ep-complete-reading by=target form=alphabet measure=digest role=writes scope=uses/ep-closure-reader value=sha256:b716942e45a272eb43b9790e2e62732471db4bd2a9c007ea4c66eb3453d0bf79
|
|
557
561
|
bound-lock/1 at=witness:bound022/ep-entry-shape by=target form=alphabet measure=id role=reads scope=wire/shapes value=decision|lock|package|reader|render|run|vector|view|entry.js
|
|
@@ -562,9 +566,29 @@ bound-lock/1 at=witness:bound023-ed by=target form=alphabet measure=id role=writ
|
|
|
562
566
|
bound-lock/1 at=witness:bound023-ed by=target form=alphabet measure=id role=writes scope=sources/runtime-closure-delivery value=https://github.com/Lapxo/bound/releases/download/v0.2.3/closure-delivery-readings.tgz
|
|
563
567
|
bound-lock/1 at=witness:bound023-ed by=target form=alphabet measure=id role=writes scope=uses/closure-delivery value=sha256:ad759c5b607e89e1ea991b7aa62ae1e42ea3d08b2e1553875267572323a8e51c
|
|
564
568
|
bound-lock/1 at=witness:bound023-ed-obligation by=target form=interval measure=count role=reads scope=delivery/violations value=0..0
|
|
569
|
+
bound-lock/1 at=witness:compiled-vendor-input by=target form=alphabet measure=coordinates role=reads scope=region/source value=dist/**/*.js|dist/cli/verb.d.ts|dist/engine/index.d.ts|dist/host/index.d.ts|dist/host/native/module-delivery.d.ts|dist/host/reference-authenticated.d.ts|dist/host/reference-native-api.d.ts|dist/public-types.d.ts|dist/vendor/28cba430228db1c04f446c93f81b09a2705d6bf3e222d35adbe5a4cee4061884.LICENSE|dist/vendor/7aca161279d14bc0e054dcc281cd110aeb95be2e026b42fdf527a260e58b2aae.LICENSE|dist/vendor/bundle.json|dist/wasm/adapter.d.ts|vendor/syntax/LICENSE.md|vendor/syntax/parser.js|samples/engine-alphabet/reader.js|samples/engine-interval/reader.js|samples/no/engine-order/reader.js|dist/host/profile-composition.d.ts|dist/host/physical-lines.d.ts|dist/host/native/installed-package.d.ts|dist/vendor/sources.json
|
|
570
|
+
bound-lock/1 at=witness:consumer-contract-selections by=target form=alphabet measure=coordinates role=writes scope=region/native-publication value=README.md|dist/**|docs/contracts/authenticated-reference.publication.json|docs/contracts/engine.md|docs/contracts/host-ports.md|docs/contracts/host-ports.publication.json|docs/contracts/native-publication.inventory.json|docs/contracts/optional-wasm-adapter.publication.json|docs/contracts/readme.publication.json|docs/contracts/reference-backend.md|docs/contracts/reference-backend.publication.json|docs/contracts/reference-export.md|docs/contracts/reference-export.publication.json|docs/contracts/reference-port.md|docs/contracts/refusals.bound|docs/contracts/refusals.md|docs/contracts/refusals.publication.json|docs/contracts/standing.bound|docs/contracts/standing.md|docs/contracts/standing.publication.json|samples/authenticated-reference/compatibility.json|samples/authenticated-reference/no.json|samples/authenticated-reference/yes.json|samples/authenticated-reference/yes/editorial-state/TARGET.bound|samples/authenticated-reference/yes/editorial-state/inputs/arrival.json|samples/authenticated-reference/yes/editorial-state/inputs/coverage.json|samples/authenticated-reference/yes/editorial-state/inputs/era.json|samples/authenticated-reference/yes/editorial-state/inputs/order.json|samples/authenticated-reference/yes/editorial-state/inputs/signature.json|samples/authenticated-reference/yes/editorial-state/inputs/transport.arrival.json|samples/authenticated-reference/yes/editorial-state/inputs/transport.coverage.json|samples/authenticated-reference/yes/editorial-state/inputs/transport.era.json|samples/authenticated-reference/yes/editorial-state/inputs/transport.order.json|samples/authenticated-reference/yes/editorial-state/inputs/transport.signature.json|samples/authenticated-reference/yes/editorial-state/inputs/transport.yes.json|samples/authenticated-reference/yes/editorial-state/inputs/yes.json|samples/authenticated-reference/yes/weather-reading/TARGET.bound|samples/authenticated-reference/yes/weather-reading/inputs/arrival.json|samples/authenticated-reference/yes/weather-reading/inputs/coverage.json|samples/authenticated-reference/yes/weather-reading/inputs/era.json|samples/authenticated-reference/yes/weather-reading/inputs/order.json|samples/authenticated-reference/yes/weather-reading/inputs/signature.json|samples/authenticated-reference/yes/weather-reading/inputs/transport.arrival.json|samples/authenticated-reference/yes/weather-reading/inputs/transport.coverage.json|samples/authenticated-reference/yes/weather-reading/inputs/transport.era.json|samples/authenticated-reference/yes/weather-reading/inputs/transport.order.json|samples/authenticated-reference/yes/weather-reading/inputs/transport.signature.json|samples/authenticated-reference/yes/weather-reading/inputs/transport.yes.json|samples/authenticated-reference/yes/weather-reading/inputs/yes.json|samples/host-ports/no.json|samples/host-ports/yes.json|samples/readme/no.json|samples/readme/yes.json|samples/reference-backend/no.json|samples/reference-backend/world-fixture.json|samples/reference-backend/yes.json|samples/reference-export/no.json|samples/reference-export/yes.json|samples/refusals/no.json|samples/refusals/yes.json|samples/standing/no.json|samples/standing/yes.json|samples/wasm/editorial-notes/TARGET.bound|samples/wasm/editorial-notes/esm.bound|samples/wasm/editorial-notes/no-deadline.bound|samples/wasm/editorial-notes/no-memory.bound|samples/wasm/editorial-notes/no-missing-limit.bound|samples/wasm/editorial-notes/receipts.bound|samples/wasm/water-level/TARGET.bound|samples/wasm/water-level/esm.bound|samples/wasm/water-level/no-deadline.bound|samples/wasm/water-level/no-memory.bound|samples/wasm/water-level/no-missing-limit.bound|samples/wasm/water-level/receipts.bound|vectors/native/authenticated-reference-formation.vector.json|vectors/native/authenticated-reference.cli.json|vectors/native/authenticated-reference.vector.json|vectors/native/host-ports.vector.json|vectors/native/readme.vector.json|vectors/native/reference-backend.vector.json|vectors/native/reference-export.vector.json|vectors/native/refusals.vector.json|vectors/native/standing.vector.json|vectors/wasm-object.cli.json|docs/contracts/native-host.md|docs/contracts/native-host.publication.json|samples/native-host/yes.json|samples/native-host/no.json|vectors/native/native-host.vector.json|docs/contracts/reading-identity.md|docs/contracts/reading-identity.publication.json|samples/reading-identity/yes.json|samples/reading-identity/no.json|vectors/native/reading-identity.vector.json|vendor/syntax/parser.js|vendor/syntax/LICENSE.md|docs/contracts/conformance.json|docs/contracts/determinism.bound|docs/contracts/module-inventory.md|docs/contracts/module-inventory.publication.json|vectors/native/module-inventory.vector.json|samples/module-inventory/yes.json|samples/no/module-inventory/no.json|docs/contracts/native-view-batch.publication.json|docs/contracts/native-view-batch.md|samples/native-view-batch/yes.json|vectors/native/native-view-batch.vector.json|samples/native-view-batch/no.json|docs/contracts/native-probes.publication.json|docs/contracts/native-probes.md|samples/native-probes/yes.json|vectors/native/native-probes.vector.json|samples/native-probes/no.json|docs/contracts/physical-lines.publication.json|docs/contracts/physical-lines.md|samples/physical-lines/yes.json|vectors/native/physical-lines.vector.json|samples/physical-lines/no.json|samples/native/physical-line-reader.source.mjs|samples/native/physical-line-reader.mjs|docs/contracts/reading-witness-admission.md|src/host/native/reading-witness-admission.ts|src/host/physical-lines.ts|src/host/call-context.ts|docs/contracts/profile-composition.publication.json|docs/contracts/profile-composition.md|samples/profile-composition/yes.json|vectors/native/profile-composition.vector.json|samples/profile-composition/no.json|docs/contracts/profile-preparation-native-meaning.md|docs/contracts/installed-package.publication.json|docs/contracts/installed-package.md|samples/installed-package/yes.json|vectors/native/installed-package.vector.json|samples/installed-package/no.json|docs/contracts/materialized-leaf-sequence.publication.json|docs/contracts/materialized-leaf-sequence.md|samples/materialized-leaf-sequence/yes.json|vectors/native/materialized-leaf-sequence.vector.json|samples/materialized-leaf-sequence/no.json|docs/contracts/authority-preflight.publication.json|docs/contracts/authority-preflight.md|samples/authority-preflight/yes.json|samples/authority-preflight/no.json|vectors/native/authority-preflight.vector.json|src/host/native/authority-card.ts|src/cli/accept.ts|src/cli/takes.ts|src/fold/signed.ts|src/host/reference-contracts.ts|src/host/native/authority-card-view.ts
|
|
571
|
+
bound-lock/1 at=witness:consumer-contract-selections by=target form=alphabet measure=id role=writes scope=release/category/contract value=contract/published|contract/published/additions|contract/published/authenticated-reference|contract/published/optional-wasm-adapter|engine/prerequisite/**|contract/published/reference-export|contract/published/reference-backend|contract/published/standing|contract/published/refusals|contract/published/host-ports|contract/published/readme|delivery/violations|contract/published/reading-identity|contract/published/module-inventory|contract/published/native-view-batch|contract/published/native-probes|contract/published/physical-lines|contract/published/profile-composition|contract/published/installed-package|contract/published/materialized-leaf-sequence|contract/published/authority-preflight
|
|
572
|
+
bound-lock/1 at=witness:consumer-contract-selections by=target form=alphabet measure=receipts role=writes scope=region/native-publication value=contract/published/optional-wasm-adapter|contract/published/authenticated-reference|contract/published/native|docs/contracts/**|samples/**|vectors/**|contract/published/reference-export|contract/published/reference-backend|contract/published/standing|contract/published/refusals|contract/published/host-ports|contract/published/readme|contract/published/native-host|contract/published/reading-identity|contract/published/module-inventory|contract/published/native-view-batch|contract/published/native-probes|contract/published/physical-lines|contract/published/profile-composition|contract/published/installed-package|contract/published/materialized-leaf-sequence|contract/published/authority-preflight
|
|
573
|
+
bound-lock/1 at=witness:consumer-contract-source-bytes by=target form=alphabet measure=digest needs=README.md role=writes scope=contract/source/readme value=sha256:1ee7dba6bcdb7fad0280271ea8cf3657719b6aa88efcebe585f8ca9c76664a39
|
|
574
|
+
bound-lock/1 at=witness:content-verified-fold-work-reuse by=target form=alphabet measure=digest role=writes scope=dep/runtime-process-readings shape=dist/index.js value=sha256:31c68ed00bf812571d2f94fbb3275280e1151299a540a19993644aa0b33756d9
|
|
575
|
+
bound-lock/1 at=witness:content-verified-fold-work-reuse by=target form=alphabet measure=digest role=writes scope=dep/runtime-source-readings shape=dist/index.js value=sha256:479633696177be3282795d550baae406b1b6b1b923b5bd2f8ce13684c34800aa
|
|
576
|
+
bound-lock/1 at=witness:content-verified-fold-work-reuse by=target form=alphabet measure=digest role=writes scope=uses/source-readings value=sha256:9fe73dcc8a242b29e49da97a3e59785164805d8974e86fcc90f125ba0501fdc9
|
|
577
|
+
bound-lock/1 at=witness:current-public-test-contracts by=target form=alphabet measure=digest role=writes scope=dep/runtime-native-publication shape=dist/provider.js value=sha256:d7ec8f9d000d79ea50f0e55c7242d07164b66531c09b23b78829bea57e302193
|
|
578
|
+
bound-lock/1 at=witness:current-public-test-contracts by=target form=alphabet measure=digest role=writes scope=dep/runtime-publication-readings shape=dist/provider.js value=sha256:8d89975ef6937349eb28020760bdc91d6179217d6a6fff008e58feb9f78a3a31
|
|
579
|
+
bound-lock/1 at=witness:current-public-test-contracts by=target form=alphabet measure=digest role=writes scope=uses/native-publication value=sha256:089c2e5e957d8e897151e0b5b4f19a45fb0c1e76e3e6600fbc69fde2dfbca89e
|
|
580
|
+
bound-lock/1 at=witness:current-public-test-contracts by=target form=alphabet measure=digest role=writes scope=uses/publication-readings value=sha256:572dd766ef5895401da8dffc60e767d10e8a21fba3936d5a0a0f07d93cf0bfa8
|
|
565
581
|
bound-lock/1 at=witness:engine-api-publication by=target form=alphabet measure=id needs=docs/contracts/engine.md role=demands scope=view/contract-engine shape=docs/contracts/engine.md value=text@3
|
|
566
582
|
bound-lock/1 at=witness:engine-api-publication by=target form=alphabet measure=reads role=writes scope=region/contract-engine value=prose/en/files/contract-engine
|
|
567
|
-
bound-lock/1 at=witness:
|
|
583
|
+
bound-lock/1 at=witness:native-consumer-contracts by=target form=interval measure=count needs=contract/published/authority-preflight role=reads scope=contract/published/authority-preflight value=0..0
|
|
584
|
+
bound-lock/1 at=witness:native-consumer-contracts by=target form=interval measure=count needs=contract/published/installed-package role=reads scope=contract/published/installed-package value=0..0
|
|
585
|
+
bound-lock/1 at=witness:native-consumer-contracts by=target form=interval measure=count needs=contract/published/materialized-leaf-sequence role=reads scope=contract/published/materialized-leaf-sequence value=0..0
|
|
586
|
+
bound-lock/1 at=witness:native-consumer-contracts by=target form=interval measure=count needs=contract/published/native-probes role=reads scope=contract/published/native-probes value=0..0
|
|
587
|
+
bound-lock/1 at=witness:native-consumer-contracts by=target form=interval measure=count needs=contract/published/native-view-batch role=reads scope=contract/published/native-view-batch value=0..0
|
|
588
|
+
bound-lock/1 at=witness:native-consumer-contracts by=target form=interval measure=count needs=contract/published/physical-lines role=reads scope=contract/published/physical-lines value=0..0
|
|
589
|
+
bound-lock/1 at=witness:native-consumer-contracts by=target form=interval measure=count needs=contract/published/profile-composition role=reads scope=contract/published/profile-composition value=0..0
|
|
590
|
+
bound-lock/1 at=witness:process-input-completion by=target form=alphabet measure=coordinates role=reads scope=region/captures value=dist/**/*.js|TARGET.bound|package.json|dist/cli/verb.d.ts|dist/engine/index.d.ts|dist/host/index.d.ts|dist/host/native/module-delivery.d.ts|dist/host/reference-authenticated.d.ts|dist/host/reference-native-api.d.ts|dist/public-types.d.ts|dist/vendor/28cba430228db1c04f446c93f81b09a2705d6bf3e222d35adbe5a4cee4061884.LICENSE|dist/vendor/7aca161279d14bc0e054dcc281cd110aeb95be2e026b42fdf527a260e58b2aae.LICENSE|dist/vendor/bundle.json|dist/wasm/adapter.d.ts|vendor/syntax/LICENSE.md|vendor/syntax/parser.js|samples/engine-alphabet/reader.js|samples/engine-interval/reader.js|samples/no/engine-order/reader.js|dist/host/native/installed-package.d.ts|dist/host/physical-lines.d.ts|dist/host/profile-composition.d.ts|dist/vendor/sources.json
|
|
591
|
+
bound-lock/1 at=witness:process-input-completion by=target form=alphabet measure=coordinates role=reads scope=region/vectors value=dist/**/*.js|TARGET.bound|package.json|dist/cli/verb.d.ts|dist/engine/index.d.ts|dist/host/index.d.ts|dist/host/native/module-delivery.d.ts|dist/host/reference-authenticated.d.ts|dist/host/reference-native-api.d.ts|dist/public-types.d.ts|dist/vendor/28cba430228db1c04f446c93f81b09a2705d6bf3e222d35adbe5a4cee4061884.LICENSE|dist/vendor/7aca161279d14bc0e054dcc281cd110aeb95be2e026b42fdf527a260e58b2aae.LICENSE|dist/vendor/bundle.json|dist/wasm/adapter.d.ts|vendor/syntax/LICENSE.md|vendor/syntax/parser.js|samples/engine-alphabet/reader.js|samples/engine-interval/reader.js|samples/no/engine-order/reader.js|dist/host/native/installed-package.d.ts|dist/host/physical-lines.d.ts|dist/host/profile-composition.d.ts|dist/vendor/sources.json
|
|
568
592
|
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
|
|
569
593
|
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
|
|
570
594
|
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
|
|
@@ -583,6 +607,8 @@ bound-lock/1 at=witness:public-contracts-by-operation by=target form=alphabet me
|
|
|
583
607
|
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
|
|
584
608
|
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
|
|
585
609
|
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
|
|
610
|
+
bound-lock/1 at=witness:public-native-host-and-producer-coverage by=target form=alphabet measure=digest needs=docs/contracts/refusals.bound role=writes scope=contract/source/refusals value=sha256:53dec9c04fa58a2c3d95f6a6c8bfff0e80926c73dcf248305bbf3a59cbd6eea3
|
|
611
|
+
bound-lock/1 at=witness:public-native-host-and-producer-coverage by=target form=alphabet measure=digest needs=docs/contracts/refusals.md role=writes scope=contract/source/wire-producers value=sha256:bf56e1d2fb5c30aa4effa6aa2326820d09019cbec6b032cc7d7a94abfcc600d9
|
|
586
612
|
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
|
|
587
613
|
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
|
|
588
614
|
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
|
|
@@ -591,5 +617,12 @@ bound-lock/1 at=witness:publication-is-measured by=target form=alphabet measure=
|
|
|
591
617
|
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
|
|
592
618
|
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
|
|
593
619
|
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
|
|
620
|
+
bound-lock/1 at=witness:published-dependency-closure by=target form=alphabet measure=id role=writes scope=sources/obligations value=https://registry.npmjs.org/@lapxo/obligations/-/obligations-0.4.7.tgz
|
|
621
|
+
bound-lock/1 at=witness:published-dependency-closure by=target form=alphabet measure=id role=writes scope=sources/topos value=https://registry.npmjs.org/@lapxo/topos/-/topos-0.2.4.tgz
|
|
594
622
|
bound-lock/1 at=witness:reference-port-native-quartet by=target form=alphabet measure=id needs=docs/contracts/reference-port.md role=demands scope=view/reference-port-contract shape=docs/contracts/reference-port.md value=text@3
|
|
595
623
|
bound-lock/1 at=witness:reference-port-native-quartet by=target form=alphabet measure=reads role=writes scope=region/reference-port-contract value=prose/en/files/reference-port
|
|
624
|
+
bound-lock/1 at=witness:reference-wire-contract by=target form=alphabet measure=digest needs=docs/contracts/reference-port.md role=writes scope=contract/source/reference-acquisition value=sha256:7fe99f71468a800f88d64104710b8b877d874f3415b9f4480eee5d30a9d871ae
|
|
625
|
+
bound-lock/1 at=witness:reference-wire-contract by=target form=alphabet measure=digest role=writes scope=dep/runtime-publication-additions shape=dist/provider.js value=sha256:c1bd4de0e59e0b4f9f3e98e6600827f4516f23488cffbfeb79c203e513529848
|
|
626
|
+
bound-lock/1 at=witness:reference-wire-contract by=target form=alphabet measure=digest role=writes scope=uses/publication-additions value=sha256:05539d14634d20c9bc757f4c18c07a9ee71c668eb1427fcb3991c053375244a5
|
|
627
|
+
bound-lock/1 at=witness:reference-wire-contract by=target form=alphabet measure=id role=writes scope=sources/publication-additions value=https://github.com/Lapxo/bound/releases/download/v0.2.6/publication-additions-standing.bound
|
|
628
|
+
bound-lock/1 at=witness:reference-wire-contract by=target form=alphabet measure=id role=writes scope=sources/runtime-publication-additions value=https://github.com/Lapxo/bound/releases/download/v0.2.6/publication-additions-readings.tgz
|