@lapxo/bound 0.2.3 → 0.2.4

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.
Files changed (67) hide show
  1. package/.github/workflows/release.yml +67 -0
  2. package/.github/workflows/test.yml +35 -0
  3. package/CITATION.cff +19 -0
  4. package/TARGET.bound +71 -20
  5. package/dist/cli/accept.js +103 -71
  6. package/dist/cli/place.js +3 -2
  7. package/dist/cli/standing-result.js +3 -5
  8. package/dist/cli/takes.js +4 -3
  9. package/dist/cli/verb.js +2 -1
  10. package/dist/engine/ports.d.ts +6 -1
  11. package/dist/engine/ports.js +23 -9
  12. package/dist/fold/claims.d.ts +29 -0
  13. package/dist/fold/claims.js +2 -1
  14. package/dist/fold/closed.js +2 -1
  15. package/dist/fold/digests.js +7 -7
  16. package/dist/host/admitted-place.js +3 -31
  17. package/dist/host/call-context.d.ts +20 -0
  18. package/dist/host/call-context.js +14 -0
  19. package/dist/host/capsule-process.js +2 -1
  20. package/dist/host/capsule.js +7 -4
  21. package/dist/host/commit-result.d.ts +6 -0
  22. package/dist/host/commit-result.js +5 -0
  23. package/dist/host/contextual-place.js +9 -14
  24. package/dist/host/host-controls.js +19 -0
  25. package/dist/host/in-process-act.d.ts +82 -0
  26. package/dist/host/in-process-act.js +84 -0
  27. package/dist/host/in-process-context.d.ts +46 -0
  28. package/dist/host/in-process-context.js +91 -0
  29. package/dist/host/in-process-root.d.ts +117 -0
  30. package/dist/host/in-process-root.js +84 -0
  31. package/dist/host/in-process.d.ts +41 -0
  32. package/dist/host/in-process.js +55 -0
  33. package/dist/host/index.d.ts +15 -0
  34. package/dist/host/index.js +7 -0
  35. package/dist/host/native-receiver.d.ts +19 -0
  36. package/dist/host/native-receiver.js +25 -0
  37. package/dist/host/place-act-transaction.d.ts +24 -0
  38. package/dist/host/place-act-transaction.js +78 -0
  39. package/dist/host/place-clock-selection.d.ts +55 -0
  40. package/dist/host/place-clock-selection.js +1 -1
  41. package/dist/host/ports/local-act.d.ts +44 -0
  42. package/dist/host/ports/local-act.js +13 -2
  43. package/dist/host/ports/place-act.d.ts +49 -0
  44. package/dist/host/ports/place-act.js +19 -54
  45. package/dist/host/ports/publication.d.ts +10 -0
  46. package/dist/host/root-clock-source.d.ts +86 -0
  47. package/dist/host/root-clock-source.js +7 -5
  48. package/dist/host/signature-era.js +12 -0
  49. package/dist/host/signing.js +1 -1
  50. package/dist/host/source-content.js +2 -1
  51. package/dist/host/standing-carrier.js +18 -0
  52. package/dist/host/standing-projection.js +50 -0
  53. package/dist/land/act.js +60 -26
  54. package/dist/observe/run.js +2 -1
  55. package/dist/observe/runner.js +16 -8
  56. package/docs/contracts/native-host.md +21 -0
  57. package/docs/contracts/native-host.publication.json +25 -0
  58. package/docs/contracts/native-publication.inventory.json +2 -1
  59. package/docs/contracts/publication.inventory.json +29 -0
  60. package/docs/guide.md +10 -0
  61. package/docs/reference.md +39 -0
  62. package/docs/why.md +109 -0
  63. package/package.json +32 -2
  64. package/receipts.bound +10369 -9723
  65. package/samples/native-host/no.json +10 -0
  66. package/samples/native-host/yes.json +20 -0
  67. package/vectors/native/native-host.vector.json +62 -0
@@ -0,0 +1,67 @@
1
+ name: release
2
+ on:
3
+ workflow_run:
4
+ workflows: [tag]
5
+ types: [completed]
6
+ workflow_dispatch:
7
+ jobs:
8
+ stage:
9
+ if: github.event_name == 'workflow_dispatch' || (github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.head_branch == 'main')
10
+ concurrency: release-delivery
11
+ environment: release
12
+ runs-on: ubuntu-latest
13
+ permissions:
14
+ contents: write
15
+ id-token: write
16
+ steps:
17
+ - uses: actions/checkout@v4
18
+ with:
19
+ ref: ${{ github.event.workflow_run.head_sha || github.sha }}
20
+ - uses: actions/setup-node@v4
21
+ with:
22
+ node-version: 24
23
+ - run: npm ci --ignore-scripts
24
+ - run: npm run build
25
+ - run: npm install --global npm@'12.1.0' --ignore-scripts
26
+ - name: Prepare release
27
+ env:
28
+ GH_TOKEN: ${{ github.token }}
29
+ run: |
30
+ set -euo pipefail
31
+ TAG="v$(node -p "require('./package.json').version")"
32
+ printf 'TAG=%s\n' "$TAG" >> "$GITHUB_ENV"
33
+ git fetch origin "refs/tags/$TAG:refs/tags/$TAG"
34
+ gh api --paginate "repos/$GITHUB_REPOSITORY/releases" --jq '.[].tag_name' > "$RUNNER_TEMP/release-tags"
35
+ if grep -Fxq "$TAG" "$RUNNER_TEMP/release-tags"; then
36
+ printf 'RELEASE %s · exists\n' "$TAG"
37
+ else
38
+ gh release create "$TAG" --verify-tag --draft --title "$TAG" --generate-notes
39
+ printf 'RELEASE %s · draft created · awaiting signed assets\n' "$TAG"
40
+ fi
41
+ - name: Read owner approval
42
+ env:
43
+ GH_TOKEN: ${{ github.token }}
44
+ run: |
45
+ set -euo pipefail
46
+ mkdir .release
47
+ gh release download "$TAG" --pattern approval-signed --dir .release
48
+ node dist/cli/verb.js fold --as release .release/approval-signed > .release/verdict
49
+ cat .release/verdict
50
+ - name: Stage the approved release archive
51
+ env:
52
+ GH_TOKEN: ${{ github.token }}
53
+ run: |
54
+ set -euo pipefail
55
+ read -r status digest archive source extra < .release/verdict
56
+ test "$status" = READY
57
+ test -z "$extra"
58
+ gh release download "$TAG" --pattern "$archive" --dir .release
59
+ printf '%s %s\n' "${digest#sha256:}" ".release/$archive" | sha256sum -c -
60
+ expected="$(node -p "require('./package.json').name+'@'+require('./package.json').version")"
61
+ actual="$(tar -xOf ".release/$archive" package/package.json | node -p "const p=JSON.parse(require('fs').readFileSync(0,'utf8'));p.name+'@'+p.version")"
62
+ test "$actual" = "$expected"
63
+ printf 'SOURCE release/%s/%s · %s · declared %s\n' "$TAG" "$archive" "$digest" "$source"
64
+ gh release edit "$TAG" --draft=false
65
+ printf 'RELEASE %s · published · %s\n' "$TAG" "$digest"
66
+ npm stage publish ".release/$archive" --access public --ignore-scripts
67
+ printf 'STAGED %s · %s · owner approval pending\n' "$actual" "$digest"
@@ -0,0 +1,35 @@
1
+ name: test
2
+ on:
3
+ push:
4
+ branches: [main]
5
+ pull_request:
6
+ permissions:
7
+ contents: read
8
+ jobs:
9
+ test:
10
+ strategy:
11
+ fail-fast: false
12
+ matrix:
13
+ node: [22, 24]
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: actions/checkout@v4
17
+ with:
18
+ persist-credentials: false
19
+ - uses: actions/setup-node@v4
20
+ with:
21
+ node-version: ${{ matrix.node }}
22
+ - run: npm ci
23
+ - run: npm run build
24
+ - name: Run tests
25
+ run: |
26
+ set -euo pipefail
27
+ npm test 2>&1 | tee "$RUNNER_TEMP/bound-tests.log"
28
+ - run: npm pack --pack-destination "$RUNNER_TEMP" --silent
29
+ - name: Preserve test logs
30
+ if: always()
31
+ uses: actions/upload-artifact@v4
32
+ with:
33
+ name: bound-node-${{ matrix.node }}
34
+ path: ${{ runner.temp }}/bound-tests.log
35
+ if-no-files-found: ignore
package/CITATION.cff ADDED
@@ -0,0 +1,19 @@
1
+ cff-version: 1.2.0
2
+ message: "Cite it by the paper it rests on, Two-Sided Constraints on a Valued Lattice."
3
+ type: software
4
+ title: "@lapxo/bound"
5
+ version: "0.2.4"
6
+ authors:
7
+ - name: "Lapxo"
8
+ license: "MIT"
9
+ preferred-citation:
10
+ type: article
11
+ title: "Two-Sided Constraints on a Valued Lattice"
12
+ authors:
13
+ - family-names: "Ochoa"
14
+ given-names: "N."
15
+ year: 2026
16
+ version: "1.0.0"
17
+ publisher:
18
+ name: "Zenodo"
19
+ doi: "10.5281/zenodo.21858428"
package/TARGET.bound CHANGED
@@ -7,6 +7,7 @@ bound-lock/1 about="# Exact release artifact\n\nPacking is a host operation. An
7
7
  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
8
  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" at=witness:public-contracts-by-operation by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-views shape=docs/contracts/views.md value=lock
9
9
  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. Head, browser hosts, algebra, wire and ceilings are outside this change.\n" at=policy:native-host by=target form=alphabet measure=text role=writes scope=prose/en/files/native-host shape=docs/contracts/native-host.md value=lock
10
11
  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
11
12
  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\nNative quartet: `refusals.publication.json`. `vectors/native/refusals.vector.json` checks the wire catalog, its derived page, duplicate/missing records, and real export/inspection refusals in two places. No failed operation becomes a successful receipt. The captured semantic marker is:\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. B2/B5 may add codes only by changing these versioned contract bytes and their vectors.\n" at=witness:bound021-final-bindings by=target form=alphabet measure=text role=writes scope=prose/en/files/contract-refusals shape=docs/contracts/refusals.md value=lock
12
13
  bound-lock/1 about="# Published contracts\n\nEvery public surface names its contract, accepted sample, captured executable vector and rejected sample. Missing members, differing artifact digests and failed vectors remain unpaid. Publication conformance is distinct from installed-artifact acceptance.\n\nThe selected Topos projects each quartet as a reading through the existing wire. Execution proofs are dependency readings; identical vector bytes share one proof. Each reading names its exact handed inputs and dependent receipt digests. Bound verifies those closures and keeps native count/bytes receipts by digest. A closed reading costs no new execution. The publication aggregate reads the quartet receipts; it never starts an inventory batch.\n\nExecution slots, per-execution timeout and response bytes are declared resource lines in the selected Topos. Bounds remain unchanged. A failed reading is not cached as a successful proof. Earlier completed readings stay verified, so a later refusal does not force them to execute again. Changed, missing or corrupt bytes cannot reuse their receipts. Output and execution history retain their exact coordinates.\n\n## Act cost\n\nEach declared reading and each host invocation is measured separately. The total duration of a pass is a diagnostic; it is not the cost of one indivisible act. The cost/act ceiling reads the largest measured act or the remaining unpartitioned host work. Nested invocations are not charged twice. A slow or refused act retains its cost. Native reading receipts retain measured seconds separately from semantic identity; reusing a receipt performs no new reader execution. Missing historical durations are not invented as zero.\n\n## Public verification\n\nFull-resolution native reading receipts carry the verified canonical UTF-8 input closure in the bytes row and the verified output in the count row, through the wire’s existing about field. Count, digest and measured duration keep their existing meanings. The host verifies the supplied bytes against those digests before reuse; an altered supplied carrier is not replaced by a cached copy. Historical local-only receipts still require their authentic CAS bytes. No private ledger or store is needed to verify a complete public receipt.\n\nFile-region seals hash configuration through Topos’s existing publication projection. Admission envelopes and retired history stay in the authority ledger; live declarations and ordinary file bytes remain inputs. Object history uses its own contract. A public checkout must carry receipts made for its actual files and compiled reader, not seals copied from a different tree. Verification does not run readers, fetch dependencies, refresh receipts or grant authority.\n" at=witness:public-receipts-verify-without-private-store by=target form=alphabet measure=text role=writes scope=prose/en/files/publication-contract shape=docs/contracts/publication.md value=lock
@@ -24,13 +25,17 @@ bound-lock/1 about="A fact is a line the CLI printed. What it did not print does
24
25
  bound-lock/1 about="A first run" at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/learn/heading value=lock
25
26
  bound-lock/1 about="A fold" at=policy:bound/readme by=target form=alphabet measure=text role=writes scope=prose/en/figure/fold/heading value=present
26
27
  bound-lock/1 about="A fold, live" at=policy:bound/door by=target form=alphabet measure=text role=writes scope=prose/en/seq/heading value=lock
28
+ bound-lock/1 about="A host operation failed without a more specific typed producer code." at=policy:contextual-host by=target form=alphabet measure=class role=writes scope=refusal/host/failed value=operation
29
+ bound-lock/1 about="A legacy namespace record fails the existing signature or coverage boundary." at=policy:contextual-host by=target form=alphabet measure=class role=writes scope=refusal/host/legacy-authority value=authority
27
30
  bound-lock/1 about="A line" at=policy:bound/readme by=target form=alphabet measure=text role=writes scope=prose/en/figure/line/heading value=present
28
31
  bound-lock/1 about="A lock is the set of lines a place is bound by. A receipt is what a reader saw. The fold is their meet. Each line carries scope, role, form, measure, value, needs, at, by, epoch, sig." at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/the-object value=present
29
32
  bound-lock/1 about="A new snapshot has a new evidence identity, not automatically a new independent origin. Preserve the admitted attribution and the chosen Topos's independence contract. Repeated readings, time periods, signing devices and receipt copies must not manufacture freedom." at=policy:bound/015-plan by=target form=alphabet measure=text role=writes scope=rationale/015/01 value=lock
30
33
  bound-lock/1 about="A port's digest identifies executable bytes, not permission to execute them. Coverage, request authority, bounds, framing and resource dependencies are checked separately. `port/**` coverage is a proposed namespace policy to admit, not an existing universal authority rule." at=policy:bound/015-plan by=target form=alphabet measure=text role=writes scope=rationale/015/05 value=lock
34
+ bound-lock/1 about="A receiver-selected anchor and exact snapshot digest authenticate the complete contextual standing carrier. The CLI and in-process reader share projection. Historical contexts, originals, withdrawals, supersessions and forks are retained by their declared namespaces. Reading produces data and an unsigned commitment, not a current authorization permit." at=policy:contextual-host by=target form=alphabet measure=text role=writes scope=contract/contextual-standing value=lock
31
35
  bound-lock/1 about="A second independent reader must agree. The fold rebuilds from the files alone, offline." at=witness:project-coordinates-are-relative by=target form=alphabet kind=axiom measure=status needs=samples/yes/verify-agrees.json|samples/no/verify-agrees.json role=demands scope=law/verify-agrees value=present
32
36
  bound-lock/1 about="A sequence of declared readings is not an indivisible act. Preserve total pass time as a diagnostic; measure each reading and host invocation, account for unpartitioned work, keep refusals and the 60-second ceiling unchanged." at=witness:declared-act-cost by=target form=alphabet measure=text role=writes scope=rationale/015/cost-boundary value=present
33
37
  bound-lock/1 about="Algebraic vacuity, absence of observations and lack of recent activity are separate facts. A view may expose inactivity over an admitted window, but cannot rename it algebraic vacuity or read missing history as zero." at=policy:bound/015-plan by=target form=alphabet measure=text role=writes scope=rationale/015/02 value=lock
38
+ bound-lock/1 about="Atomic publication may have become visible before its response failed. This is not a rollback claim." at=policy:contextual-host by=target form=alphabet measure=class role=writes scope=refusal/host/commit-unknown value=operation
34
39
  bound-lock/1 about="Bind a package release with the pipeline views. Bind a page to its receipts with view/readme. Refuse a dependency drift with dep pins. Ask a second head that must agree." at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/learn value=present
35
40
  bound-lock/1 about="Bound is the application of that algebra: signed bounds, folded by one meet, refused when they fork." at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/paper value=present
36
41
  bound-lock/1 about="Bound reads a project's admitted statements and observations through its selected Topos, then renders the declared views and records their inputs in receipts. The example below explains the object; a file-fold alone does not calculate its intervals.\n\n## Use Bound in a project\n\nFrom a project with an admitted lock and selected views, inspect its standing, ask for its evidence, then verify the committed outputs:\n\n```sh\nnpx @lapxo/bound@0.1.8 fold --as lines\nnpx @lapxo/bound@0.1.8 fold --as receipts@1\nnpx @lapxo/bound@0.1.8 fold --check\n```\n\nUse this flow to review a project change or check a dependency's declared contract. `--check` verifies existing evidence; it does not execute a missing reading. A file fold names readings and explicitly says that it computed no encounters.\n\nIndependent observations are judged through the declared typed cells view. The selected topos supplies the form, origin evidence and bounds. Bound keeps attribution and exact-ID withdrawals through the fold.\n\nA selected form can instead describe a set of artifacts, a delivery interval or another domain's values. The project declares the form, origin evidence and views; Bound does not infer them from filenames or units.\n\n\n## A meeting everyone can understand\n\nAna is available from 10 to 14, Luis from 12 to 16, and the room from 10 to 13. Their common availability is 12 to 13. A boss available from 18 to 20 makes the encounter incompatible. Withdrawing that exact reading restores the overlap; Ana, Luis and the room remain.\n\nWith an interval form, those are object operations: observe independent claims, meet them, withdraw by id, and read the state. A narrower compatible meet is not a fork. Folding a file of declarations alone does not calculate meeting availability.\n\nThe same pattern applies to a delivery window, a sensor's allowed range, or an agreed performance budget. The chosen topos determines the units and how evidence is obtained. Bound does not supply a meeting-specific rule.\n\n## See how information holds together\n\n![Cells, travelling bounds and a local join](https://raw.githubusercontent.com/Lapxo/bound/2053bb6d6188f04538114eae6a0add5166944ed3/docs/readme-assets/atlas.svg)\n\nA travelling ceiling on B reaches C and G through their declared rest. A local join widens B alone. D is independent. The figure shows those relations; point size and camera distance do not measure information.\n\n| State | Meaning |\n| --- | --- |\n| REQUIRED | Compatible bounds, fewer than two independent origins. |\n| FREE | Independent origins meet and their encounter fits the bounds. |\n| CONFLICT | Bounds conflict, or eligible claims have no common encounter. |\n| FORBIDDEN | An inhabited encounter does not fit the bounds. |\n\nBounds are checked before origins and claims. A receipt is evidence of a reading, not another origin. Duplicating one does not add freedom.\n\n## Change a project without erasing evidence\n\nWork in the project's directory. Use an existing admitted key identifier and its matching private key stored outside every repository. The admitted key also names its signer with `keys/<who> measure=signer value=file`; `signer/timeout` and `signer/response-bytes` declare its limits. Your public key and coverage belong to the authority contract; possession of a private key alone does not authorize a scope.\n\n```sh\nexport BOUND_KEY_ID='your-admitted-key-id'\nexport BOUND_KEY_FILE=\"$HOME/Private/keys/your-device.pem\"\nlot_dir=\"$(mktemp -d)\"\n```\n\nHave the selected view produce a proposal at `$lot_dir/proposal.bound`, or prepare the project's permitted lines there for review. Unsigned proposals use `by=target`, without a preassigned epoch or `sig`. Lots stay outside the repository; the committed bound files are only `TARGET.bound` and `receipts.bound`.\n\n```sh\nnpx @lapxo/bound@0.1.8 sign \"$lot_dir/proposal.bound\" \\\n --key \"$BOUND_KEY_ID\" --key-file \"$BOUND_KEY_FILE\" \\\n > \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.8 land \"$lot_dir/signed.bound\" &&\nnpx @lapxo/bound@0.1.8 fold\n```\n\n`sign` assigns the admitted epoch and writes the signed lot to stdout. `land` validates the whole lot before admission. A refusal is evidence to inspect; it is not success. Do not proceed after a failed signature or admission. The key file is a PKCS8 private key matching the admitted public key; do not put it in the lot, source tree, package or CI artifacts.\n\nFor typed object withdrawals, `takes` names the exact claim or mark id. Removing a local join leaves the travelling sign live. For untyped configuration, use the wire's exact withdrawal selectors; do not combine withdrawal and replacement with identical selectors in one lot. Wire alphabet updates supersede by epoch.\n\n[Authority, withdrawals, receipts and PR review](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md).\n\n## Select a topos by what it declares\n\n`sources/<name>` says where a world can be obtained. An admitted `uses/<name>` names the digest of that topos's folded standing: canonical live claims in wire byte order, excluding signature envelopes and host shape. Re-signing the same standing preserves the pin. A changed live form, class, view or offer changes it.\n\n`restsOn` closes artifact bytes separately. A capsule is one offer. Forms, classes and views need no capsule merely to be selected. Runtime and packing do not define standing identity. npm dependency ranges remain package metadata; they are not standing pins.\n\n| Responsibility | Owner |\n| --- | --- |\n| Meet, state, live acts and rest | Obligations |\n| Wire, forms, classes, views and offer contracts | Topos |\n| Admission, folding and evidence | Bound |\n| Domain measurement and representation | Selected topos |\n| Storage, transport and execution | Host |\n\nCell `restsOn` is the object's relation. Directory prefixes and file summaries are host coordinates, not object rest. Wire tokens are protocol constants, not organization, host, path or key literals.\n\n## Repository rules\n\nCommit `TARGET.bound`, `receipts.bound` and the outputs the forge reads. Ignore `.bound/` from the first line of `.gitignore`. Keep proposals, signed lots, keys, ledgers, caches and dependency blobs outside the published tree.\n\nThe lock is the project's own contract and pins. Read a dependency's declarations from its selected standing; do not copy its lines into your lock. README, package metadata and workflows must be renders of admitted declarations. A scan is an observation, not permission to lower a ceiling.\n\nA PR proposes lines and the leaf changes they render. The judge uses the team's accepted contract independently of the proposed revision. Preserve refusals, conflicting origins and unpaid demands. [Repository and contribution rules](https://github.com/Lapxo/bound/blob/2053bb6d6188f04538114eae6a0add5166944ed3/docs/usage.md#repository-and-pr-review).\n\n## An atlas you can question\n\nInformation can share a history without sharing a single presentation. The same admitted cells can support a compact status view, a spatial view of their relations, or a focused reading of one disagreement. Each view asks for a region and resolution; its selected topos determines the representation.\n\nThis makes changes inspectable. A local act can remain local, travelling bounds can reach dependent cells, and a receipt can name the inputs of the reading you saw. You can ask what changed and what depends on it without turning a drawing into the algebra.\n\nA pin names standing, not a download URL or runtime entry. Its declared artifact dependencies close the bytes needed for an offered operation. The boundary lets a form or view remain meaningful even when it has no executable capsule.\n\nUse Bound where independently attributed observations must be judged against an accepted contract: compatibility between components, operational limits, or a team's project requirements. The selected topos must supply the actual measurements; a digest identifies the evidence without declaring it true.\n\n[Contribute a counterexample or a proposed lot](CONTRIBUTING.md).\n\n## Foundations and related libraries\n\nThe two-sided constraint object is described in Nahum Ochoa's [Two-Sided Constraints on a Valued Lattice](https://doi.org/10.5281/zenodo.21858428), DOI `10.5281/zenodo.21858428`. Bound uses the object through [Obligations](https://github.com/Lapxo/obligations); [Topos](https://github.com/Lapxo/topos) supplies the wire and contracts for forms, views and selected worlds. Bound admits, folds and retains evidence across those declared boundaries. A digest identifies bytes; it does not certify that an observation is true.\n" at=witness:first-unpaid-judgment-fix-release by=target form=alphabet measure=text role=writes scope=prose/en/idea value=present
@@ -61,6 +66,7 @@ bound-lock/1 about="Joining two files is putting their lines together: order doe
61
66
  bound-lock/1 about="L6 remains unpaid and is carried to 0.1.10: portable semantic projection, receipt envelopes separate, exact versus approximate numeric policies and proof on another machine. Existing proof coordinates and prerequisites remain named; no cross-machine PASS is claimed." at=policy:bound/019-L6-pending by=target form=alphabet measure=status needs=proof/0.1.9/L6/contract|proof/0.1.9/L6/yes|proof/0.1.9/L6/vector|proof/0.1.9/L6/no restsOn=plan/0.1.9/sdk|plan/0.1.9/L2|plan/0.1.9/L7 role=demands scope=plan/0.1.10/L6 value=present
62
67
  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
63
68
  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
69
+ 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
64
70
  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
65
71
  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
66
72
  bound-lock/1 about="One lot lands one place. A lot for many places lands the same lines at each." at=witness:project-coordinates-are-relative by=target form=alphabet kind=axiom measure=status needs=samples/yes/one-lot-one-place.json|samples/no/one-lot-one-place.json role=demands scope=law/one-lot-one-place value=present
@@ -102,12 +108,21 @@ bound-lock/1 about="Reported unpaid by the Head clean-install matrix: the typed-
102
108
  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
103
109
  bound-lock/1 about="Retained owner-admitted E-P interval-min snapshot only; finite sample chosen by this declaration, not a kernel region catalog. The verifier expectation is external to the input. This sample does not claim the current release module inventory." at=policy:bound022/ep-retained-reader by=target form=alphabet measure=coordinates role=writes scope=region/closure value=samples/engine-place/inputs/closure.json
104
110
  bound-lock/1 about="Rewriting hero, idea and the other section regions as compositions of atoms is 0.1.1, not done quietly here." at=policy:bound/010 by=target form=alphabet kind=conjecture measure=status role=demands scope=open/section-regions-as-atoms value=present
111
+ bound-lock/1 about="Root lot input must contain canonical unsigned target configuration records with LF framing." at=policy:contextual-host by=target form=alphabet measure=class role=writes scope=refusal/host/root-lot-format value=input
105
112
  bound-lock/1 about="Source origin is distinct from local coordinates; requested verified bytes are handed to every declared eligible reader." at=policy:bound/015-plan by=target form=alphabet measure=status needs=docs/contracts/region/origin-input.md|samples/yes/region/origin-input.json|vectors/region/origin-input.json|samples/no/region/origin-input.json role=demands scope=region/origin-input value=present
113
+ bound-lock/1 about="The CLI and in-process Root host share the existing canonical unsigned lot admission judges and atomic result. The receiver chooses the admitted place, implementation, limits and injected canonical-line signer. Snapshot changes before commit refuse rather than rebase. Coverage is checked before acquiring signatures. Cancellation before visibility exposes no partial act; publication uncertainty and failures after commit retain the act identity for authenticated historical recovery without signing or reviving authority. A fresh repeated held lot needs no new signature. Public output is bounded data, not consumer console output." at=policy:contextual-host by=target form=alphabet measure=text role=writes scope=contract/native-root-admission value=lock
114
+ bound-lock/1 about="The CLI and in-process host share one contextual transaction. Receiver-selected persistence supplies CLI-compatible exclusion, authenticated results and heads, bounded inventory and atomic publication. Exact original declarations already carry their signatures; a bounded injected signer acquires receiver receipts. Root and receiver heads are checked before and after signing. Cancellation before visibility adds no partial act. Publication failure is uncertain until authenticated recovery by identity; recovery grants no current authorization." at=policy:contextual-host by=target form=alphabet measure=text role=writes scope=contract/contextual-transaction value=lock
115
+ bound-lock/1 about="The call was cancelled before the commit visibility point." at=policy:contextual-host by=target form=alphabet measure=class role=writes scope=refusal/host/cancelled value=operation
116
+ 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
106
117
  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
118
+ 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
119
+ 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
107
120
  bound-lock/1 about="The exact owner-admitted K-U SDK archive. Its digest identifies retained bytes; public availability is a separate release prerequisite." at=witness:kernel-upgrade-043-sdk021 by=target form=alphabet measure=id needs=node_modules/@lapxo/topos role=reads scope=dep/topos shape=package value=sha256:50086958553b9376d600583f7dff354196bfeb41170fc6d1482ca7bea7c493e2
108
- 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:bound023-ed by=target form=alphabet measure=digest role=writes scope=uses/process-readings value=sha256:c09a81778459c87d6dc8f3770ab0fb3f4eb7b7e950a13c5c4bdbac4767387147
121
+ 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:shared-host-controls by=target form=alphabet measure=digest role=writes scope=uses/process-readings value=sha256:fc1fb18c1979c88cc9455f4e83c54980fc9364519c4f6dfd31e30a57b7d57974
109
122
  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
123
+ 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
110
124
  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
125
+ bound-lock/1 about="The host call lacks valid receiver-selected context." at=policy:contextual-host by=target form=alphabet measure=class role=writes scope=refusal/host/context value=input
111
126
  bound-lock/1 about="The native authenticated reference route opens separately signed carriers using externally declared host authority, forms and bounded transport; positive and named negative cases are measured by the selected publication world. A zero count is conditional on the identified fixed image and laid form content; it grants neither current-answer reuse nor final archive acceptance." at=policy:bound/020-public-api-coverage by=target form=interval measure=count needs=contract/published/authenticated-reference role=reads scope=contract/published/authenticated-reference value=0..0
112
127
  bound-lock/1 about="The native object route is measured through the selected publication world against a separately identified fixed instrument image and immutable formed places. The quartet binds the published contract, yes/no data and executable CLI vector; a zero count certifies that declared fixture condition only. Exact archive installation and another-machine portability are separate obligations." at=policy:bound/020-public-api-coverage by=target form=interval measure=count needs=contract/published/optional-wasm-adapter role=reads scope=contract/published/optional-wasm-adapter value=0..0
113
128
  bound-lock/1 about="The native public receipt carries its actual observed set at resolution 8 before the authenticated summary at resolution 0 and current region bytes at resolution 1." at=witness:a-public-receipt-carries-its-observations by=target form=alphabet measure=id role=demands scope=view/receipts shape=receipts.bound value=receipts@8|receipts@0|receipts@1
@@ -115,11 +130,16 @@ bound-lock/1 about="The object" at=policy:bound/010 by=target form=alphabet meas
115
130
  bound-lock/1 about="The paper" at=policy:bound/010 by=target form=alphabet measure=text role=writes scope=prose/en/the-paper/heading value=lock
116
131
  bound-lock/1 about="The previously declared cell card remains available under its explicit object coordinate; it is not silently treated as a demand scheduler." at=witness:preserved-cell-card by=target form=alphabet measure=id role=demands scope=view/object-card value=cells
117
132
  bound-lock/1 about="The proposed laws are not already paid merely because this text names them. Inventory actual standing lines and current evidence first. New laws, category links and grammar require named admission acts. Obligations remains unchanged." at=policy:bound/015-plan by=target form=alphabet measure=text role=writes scope=rationale/015/08 value=lock
133
+ bound-lock/1 about="The receiver receipt signer lacks admitted authority for the receipt scope." at=policy:contextual-host by=target form=alphabet measure=class role=writes scope=refusal/host/receiver-authority value=authority
134
+ bound-lock/1 about="The request exceeds a declared record or receiver resource bound." at=policy:contextual-host by=target form=alphabet measure=class role=writes scope=refusal/host/budget value=resource
135
+ bound-lock/1 about="The request snapshot differs from the receiver-selected Root snapshot." at=policy:contextual-host by=target form=alphabet measure=class role=writes scope=refusal/host/stale value=authority
118
136
  bound-lock/1 about="The same signed lot and admitted snapshot share admission validation; a prospective reading neither admits nor writes. The vector reports failures; unread is not agreement." at=witness:prospective-admission-agrees by=target form=interval measure=count needs=samples/admission/yes/one-boundary.json|samples/admission/no/one-boundary.json|test/admission-boundary.test.ts|vectors/process/admission-boundary.vector.json role=reads scope=admission/one-boundary value=0..0
119
137
  bound-lock/1 about="The six unmounted read-only catalog entries have no current product imports or render selection and were retired; separately selected historical artifact bindings remain intact. CI tests the installed host boundaries, current reading identity and package build without local draft inputs. Whole-repository self-closure is not a product test or a paid release verdict: it remains an explicit unpaid demand until its worlds have public verified deliveries and current portable receipts. No numeric ceiling, authority check, executable-closure check or historical receipt identity is changed." at=policy:bound/019-minimum-ci-scope by=target form=alphabet measure=text role=writes scope=rationale/019/minimum-ci-scope value=present
138
+ bound-lock/1 about="The snapshot requires vocabulary resolution not supplied by this host operation." at=policy:contextual-host by=target form=alphabet measure=class role=writes scope=refusal/host/vocabulary-unavailable value=input
120
139
  bound-lock/1 about="The supplemental publication world owns exactly two new quartets; the selected original world and its22receipts keep their existing identity." at=policy:bound/020-publication-additions by=target form=interval measure=count needs=docs/contracts/publication-additions.inventory.json role=reads scope=contract/published/additions value=0..0
121
140
  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
122
141
  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
142
+ 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
123
143
  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
124
144
  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
125
145
  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
@@ -321,7 +341,7 @@ bound-lock/1 about="the typescript tree world after its released capsule: said,
321
341
  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/**
322
342
  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
323
343
  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\""
324
- bound-lock/1 about="the version this place is bound at" at=witness:bound023-ed-api by=target form=alphabet measure=id role=writes scope=version value=0.2.3
344
+ bound-lock/1 about="the version this place is bound at" at=witness:native-host-api by=target form=alphabet measure=id role=writes scope=version value=0.2.4
325
345
  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
326
346
  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
327
347
  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
@@ -336,7 +356,7 @@ bound-lock/1 about="what the second head found, which leaves the place has writt
336
356
  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
337
357
  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
338
358
  bound-lock/1 about="who signs this place" at=policy:bound/010 by=target form=alphabet measure=id role=writes scope=author value=Lapxo
339
- bound-lock/1 about="{\n \"name\": \"@lapxo/bound\",\n \"version\": \"0.2.3\",\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 },\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 },\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/engine/object.d.ts\",\n \"dist/host/reference-authenticated.d.ts\",\n \"dist/host/reference-export.d.ts\",\n \"dist/host/reference-native-api.d.ts\",\n \"dist/host/reference-native.d.ts\",\n \"dist/host/reference-profile.d.ts\",\n \"dist/host/refusals.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 \"dist/engine/ports.d.ts\",\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 \"dist/host/native/module-closure.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 ],\n \"author\": \"Lapxo\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@lapxo/obligations\": \"0.4.3\",\n \"@lapxo/topos\": \"^0.2.1\",\n \"acorn\": \"8.19.0\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^20.0.0\",\n \"typescript\": \"^5.0.0\"\n },\n \"sideEffects\": false,\n \"engines\": {\n \"node\": \">=22.15\"\n },\n \"bin\": {\n \"bound\": \"./dist/cli/verb.js\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/Lapxo/bound.git\"\n },\n \"homepage\": \"https://github.com/Lapxo/bound#readme\",\n \"bugs\": {\n \"url\": \"https://github.com/Lapxo/bound/issues\"\n },\n \"keywords\": [\n \"cli\",\n \"content-addressed\",\n \"provenance\",\n \"receipts\",\n \"constraints\",\n \"reproducible\"\n ]\n}\n" at=witness:bound023-ed-api by=target form=alphabet measure=text role=writes scope=prose/en/files/manifest shape=package.json value=lock
359
+ bound-lock/1 about="{\n \"name\": \"@lapxo/bound\",\n \"version\": \"0.2.4\",\n \"type\": \"module\",\n \"description\": \"Read the bounds you already wrote, fold them, and name the contradictions.\",\n \"main\": \"dist/cli/verb.js\",\n \"types\": \"dist/cli/verb.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/cli/verb.d.ts\",\n \"default\": \"./dist/cli/verb.js\"\n },\n \"./package.json\": \"./package.json\",\n \"./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 },\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 },\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/engine/object.d.ts\",\n \"dist/host/reference-authenticated.d.ts\",\n \"dist/host/reference-export.d.ts\",\n \"dist/host/reference-native-api.d.ts\",\n \"dist/host/reference-native.d.ts\",\n \"dist/host/reference-profile.d.ts\",\n \"dist/host/refusals.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 \"dist/engine/ports.d.ts\",\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 \"dist/host/native/module-closure.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 \"dist/host/in-process.d.ts\",\n \"dist/host/in-process-context.d.ts\",\n \"dist/host/in-process-act.d.ts\",\n \"dist/host/in-process-root.d.ts\",\n \"dist/host/native-receiver.d.ts\",\n \"dist/host/call-context.d.ts\",\n \"dist/host/ports/place-act.d.ts\",\n \"dist/host/place-act-transaction.d.ts\",\n \"dist/host/ports/publication.d.ts\",\n \"dist/host/root-clock-source.d.ts\",\n \"dist/fold/claims.d.ts\",\n \"dist/host/ports/local-act.d.ts\",\n \"dist/host/place-clock-selection.d.ts\",\n \"dist/host/commit-result.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 \".github/workflows/release.yml\",\n \".github/workflows/test.yml\",\n \"CITATION.cff\",\n \"docs/contracts/publication.inventory.json\",\n \"docs/guide.md\",\n \"docs/reference.md\",\n \"docs/why.md\"\n ],\n \"author\": \"Lapxo\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@lapxo/obligations\": \"0.4.3\",\n \"@lapxo/topos\": \"^0.2.1\",\n \"acorn\": \"8.19.0\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^20.0.0\",\n \"typescript\": \"^5.0.0\"\n },\n \"sideEffects\": false,\n \"engines\": {\n \"node\": \">=22.15\"\n },\n \"bin\": {\n \"bound\": \"./dist/cli/verb.js\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/Lapxo/bound.git\"\n },\n \"homepage\": \"https://github.com/Lapxo/bound#readme\",\n \"bugs\": {\n \"url\": \"https://github.com/Lapxo/bound/issues\"\n },\n \"keywords\": [\n \"cli\",\n \"content-addressed\",\n \"provenance\",\n \"receipts\",\n \"constraints\",\n \"reproducible\"\n ]\n}\n" at=witness:portable-public-delivery by=target form=alphabet measure=text role=writes scope=prose/en/files/manifest shape=package.json value=lock
340
360
  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
341
361
  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
342
362
  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
@@ -441,20 +461,60 @@ bound-lock/1 at=policy:bound022/ep-retained-reader-delivery by=target form=alpha
441
461
  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
442
462
  bound-lock/1 at=policy:complete-reading-identity by=target form=alphabet measure=id role=writes scope=wire/reading-context value=reading-context@1
443
463
  bound-lock/1 at=policy:complete-reading-identity by=target form=alphabet measure=id role=writes scope=wire/reading-receipt value=reading-receipt@1
464
+ bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=code role=writes scope=refusal/host/act value=host/act
465
+ bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=code role=writes scope=refusal/host/act-unavailable value=host/act-unavailable
466
+ bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=code role=writes scope=refusal/host/budget value=host/budget
467
+ bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=code role=writes scope=refusal/host/cancelled value=host/cancelled
468
+ bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=code role=writes scope=refusal/host/commit-unknown value=host/commit-unknown
469
+ bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=code role=writes scope=refusal/host/context value=host/context
470
+ bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=code role=writes scope=refusal/host/failed value=host/failed
471
+ bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=code role=writes scope=refusal/host/historical-snapshot value=host/historical-snapshot
472
+ bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=code role=writes scope=refusal/host/integrity value=host/integrity
473
+ bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=code role=writes scope=refusal/host/legacy-authority value=host/legacy-authority
474
+ bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=code role=writes scope=refusal/host/receiver-authority value=host/receiver-authority
475
+ bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=code role=writes scope=refusal/host/root-lot-format value=host/root-lot-format
476
+ bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=code role=writes scope=refusal/host/snapshot-format value=host/snapshot-format
477
+ bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=code role=writes scope=refusal/host/stale value=host/stale
478
+ bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=code role=writes scope=refusal/host/vocabulary-unavailable value=host/vocabulary-unavailable
479
+ bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=next role=writes scope=refusal/host/act value=refresh-act-context
480
+ bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=next role=writes scope=refusal/host/act-unavailable value=retry-or-resolve-result
481
+ bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=next role=writes scope=refusal/host/budget value=reduce-request
482
+ bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=next role=writes scope=refusal/host/cancelled value=retry-with-current-context
483
+ bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=next role=writes scope=refusal/host/commit-unknown value=recover-by-identity
484
+ bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=next role=writes scope=refusal/host/context value=provide-context
485
+ bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=next role=writes scope=refusal/host/failed value=inspect-diagnostic
486
+ bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=next role=writes scope=refusal/host/historical-snapshot value=provide-matching-prefix
487
+ bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=next role=writes scope=refusal/host/integrity value=provide-matching-bytes
488
+ bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=next role=writes scope=refusal/host/legacy-authority value=provide-admitted-history
489
+ bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=next role=writes scope=refusal/host/receiver-authority value=provide-authorized-receiver
490
+ bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=next role=writes scope=refusal/host/root-lot-format value=provide-root-lot
491
+ bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=next role=writes scope=refusal/host/snapshot-format value=provide-canonical-snapshot
492
+ bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=next role=writes scope=refusal/host/stale value=refresh-root-snapshot
493
+ bound-lock/1 at=policy:contextual-host by=target form=alphabet measure=next role=writes scope=refusal/host/vocabulary-unavailable value=provide-supported-vocabulary
444
494
  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
445
495
  bound-lock/1 at=policy:host/declared-vocabulary by=target form=alphabet measure=id role=reads scope=wire/states value=absent|present|unread|withdraw
446
496
  bound-lock/1 at=policy:host/declared-vocabulary by=target form=alphabet measure=id role=reads scope=wire/templates value={cone}|{roots}
447
497
  bound-lock/1 at=policy:instrument/cryptography by=target form=alphabet measure=id role=reads scope=wire/digest-algorithms value=sha256:era1
448
498
  bound-lock/1 at=policy:instrument/cryptography by=target form=alphabet measure=id role=reads scope=wire/era value=era1
449
499
  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
500
+ bound-lock/1 at=policy:native-host 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
501
+ 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
502
+ bound-lock/1 at=policy:native-host 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
450
503
  bound-lock/1 at=policy:project/local-journals by=target form=alphabet measure=class role=writes scope=keys/fold value=fold
451
504
  bound-lock/1 at=policy:project/local-journals by=target form=alphabet measure=class role=writes scope=keys/reader value=read
452
505
  bound-lock/1 at=policy:prose/render-contract by=target form=alphabet measure=digest role=writes scope=uses/prose-render value=sha256:8b678e37f1fe656a5c456f09c0d57020e3aeddb8acec2b5ffc92054a3ce26c3b
453
506
  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
507
+ bound-lock/1 at=policy:reader-delivery by=target form=alphabet measure=id role=writes scope=sources/native-publication value=https://github.com/Lapxo/bound/releases/download/v0.2.4/native-standing.bound
508
+ bound-lock/1 at=policy:reader-delivery by=target form=alphabet measure=id role=writes scope=sources/process-readings value=https://github.com/Lapxo/bound/releases/download/v0.2.4/process-standing.bound
509
+ bound-lock/1 at=policy:reader-delivery by=target form=alphabet measure=id role=writes scope=sources/publication-readings value=https://github.com/Lapxo/bound/releases/download/v0.2.4/legacy-standing.bound
510
+ bound-lock/1 at=policy:reader-delivery by=target form=alphabet measure=id role=writes scope=sources/runtime-native-publication value=https://github.com/Lapxo/bound/releases/download/v0.2.4/native-readings.tgz
511
+ bound-lock/1 at=policy:reader-delivery by=target form=alphabet measure=id role=writes scope=sources/runtime-process-readings value=https://github.com/Lapxo/bound/releases/download/v0.2.4/process-readings.tgz
512
+ bound-lock/1 at=policy:reader-delivery by=target form=alphabet measure=id role=writes scope=sources/runtime-publication-readings value=https://github.com/Lapxo/bound/releases/download/v0.2.4/legacy-readings.tgz
513
+ bound-lock/1 at=policy:reader-delivery by=target form=alphabet measure=id role=writes scope=sources/runtime-source-readings value=https://github.com/Lapxo/bound/releases/download/v0.2.4/source-readings.tgz
514
+ bound-lock/1 at=policy:reader-delivery by=target form=alphabet measure=id role=writes scope=sources/source-readings value=https://github.com/Lapxo/bound/releases/download/v0.2.4/source-standing.bound
454
515
  bound-lock/1 at=policy:selected-wire by=target form=alphabet measure=digest role=writes scope=uses/wire value=sha256:a717c60945add1facfd822b3ee2da73a8fa2f781dd0aa2de9be778e66b8f3591
455
516
  bound-lock/1 at=witness:bound/015-hermetic-render-closure by=target form=alphabet measure=digest role=writes scope=uses/rendering value=sha256:c0094dc8c916b3c8ea9df19666816a28230c01808e5d792833c156e8d454a2f0
456
517
  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
457
- bound-lock/1 at=witness:bound021-final-bindings 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
458
518
  bound-lock/1 at=witness:bound021-final-bindings by=target form=alphabet measure=digest needs=docs/contracts/host-ports.md role=writes scope=contract/source/host-ports value=sha256:f3d646da2399c719469a37293b329d53b72b0478ca97f961b90c1f4e6adc2ae6
459
519
  bound-lock/1 at=witness:bound021-final-bindings by=target form=alphabet measure=digest needs=docs/contracts/reference-backend.md role=writes scope=contract/source/reference-backend value=sha256:c69fbaac11276efcd8a436f242e07d4fda18137c9987f8bba183fe6d6ea801c6
460
520
  bound-lock/1 at=witness:bound021-final-bindings by=target form=alphabet measure=digest needs=docs/contracts/reference-export.md role=writes scope=contract/source/reference-export value=sha256:08e12bbed83729f42f905e03f090126181df952b678a92fe06a0e24eefc106f4
@@ -470,7 +530,6 @@ bound-lock/1 at=witness:bound021-final-bindings by=target form=alphabet measure=
470
530
  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
471
531
  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
472
532
  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
473
- bound-lock/1 at=witness:bound021-final-bindings 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
474
533
  bound-lock/1 at=witness:bound021-retained-additions-binding by=target form=alphabet measure=digest role=writes scope=dep/runtime-publication-additions shape=dist/provider.js value=sha256:aa015adb3e48cfb29c8d2bb5446e3057d219afdb62155226d41ce4cc6ef1dda0
475
534
  bound-lock/1 at=witness:bound021-retained-additions-binding by=target form=alphabet measure=digest role=writes scope=uses/publication-additions value=sha256:1e06815e421d5374f8f2fca48f7148e02c67cfa9a07873afca49a0d48ae74375
476
535
  bound-lock/1 at=witness:bound021-retained-additions-binding by=target form=alphabet measure=id role=writes scope=sources/publication-additions value=https://github.com/Lapxo/bound/releases/download/v0.2.1/publication-additions-standing.bound
@@ -480,26 +539,11 @@ bound-lock/1 at=witness:bound022/ep-complete-reading by=target form=alphabet mea
480
539
  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
481
540
  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
482
541
  bound-lock/1 at=witness:bound023-ed by=target form=alphabet measure=coordinates role=writes scope=region/delivery value=samples/module-delivery/inputs/delivery.json
483
- bound-lock/1 at=witness:bound023-ed by=target form=alphabet measure=digest role=writes scope=dep/runtime-native-publication shape=dist/provider.js value=sha256:e5948f8a0a771e4d2f75a762e28c3d2341bdd1881d91fdf27dd21e47b289dfad
484
- bound-lock/1 at=witness:bound023-ed by=target form=alphabet measure=digest role=writes scope=dep/runtime-process-readings shape=dist/index.js value=sha256:49bcc25eaac2cd715a331f59ced51f781f8fe58a1f44fb81b5d1a25dfbf6a762
485
- bound-lock/1 at=witness:bound023-ed by=target form=alphabet measure=digest role=writes scope=dep/runtime-publication-readings shape=dist/provider.js value=sha256:9a76b9599844ee2059b9b7f851092f518dce8804eabacb71c2dc0f0b5d252a49
486
- bound-lock/1 at=witness:bound023-ed by=target form=alphabet measure=digest role=writes scope=dep/runtime-source-readings shape=dist/index.js value=sha256:a1f8150d7251f067701376fe30adbc62a4e5f36d83e785d16fff61bf7b76772e
487
- bound-lock/1 at=witness:bound023-ed by=target form=alphabet measure=digest role=writes scope=uses/native-publication value=sha256:39839a40a628f2a7b98bfa0895703472b13f41758635a0bea4b8ec2c3eff4c28
488
- bound-lock/1 at=witness:bound023-ed by=target form=alphabet measure=digest role=writes scope=uses/publication-readings value=sha256:50f0395d96d6d7c2d558f6bc5f033688eeed0865f28182768abb997fc345c528
489
- bound-lock/1 at=witness:bound023-ed by=target form=alphabet measure=digest role=writes scope=uses/source-readings value=sha256:0b9eb6b57089c88ed1edff4c98b110ccaa024926e432a12ad530c6d1575fc4aa
490
542
  bound-lock/1 at=witness:bound023-ed by=target form=alphabet measure=id needs=docs/contracts/closure-delivery.md role=demands scope=view/closure-delivery-contract shape=docs/contracts/closure-delivery.md value=text@3
491
543
  bound-lock/1 at=witness:bound023-ed by=target form=alphabet measure=id role=writes scope=dep/runtime-closure-delivery shape=entry.js value=sha256:3ee0774f70b8e2a7f0c239e286d2fba890efe7a2b9da2a6b907d34e60c526c0d
492
544
  bound-lock/1 at=witness:bound023-ed 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
493
545
  bound-lock/1 at=witness:bound023-ed by=target form=alphabet measure=id role=writes scope=sources/closure-delivery value=https://github.com/Lapxo/bound/releases/download/v0.2.3/closure-delivery-standing.bound
494
- bound-lock/1 at=witness:bound023-ed by=target form=alphabet measure=id role=writes scope=sources/native-publication value=https://github.com/Lapxo/bound/releases/download/v0.2.3/native-publication-standing.bound
495
- bound-lock/1 at=witness:bound023-ed by=target form=alphabet measure=id role=writes scope=sources/process-readings value=https://github.com/Lapxo/bound/releases/download/v0.2.3/process-standing.bound
496
- bound-lock/1 at=witness:bound023-ed by=target form=alphabet measure=id role=writes scope=sources/publication-readings value=https://github.com/Lapxo/bound/releases/download/v0.2.3/legacy-publication-standing.bound
497
546
  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
498
- bound-lock/1 at=witness:bound023-ed by=target form=alphabet measure=id role=writes scope=sources/runtime-native-publication value=https://github.com/Lapxo/bound/releases/download/v0.2.3/native-publication-readings.tgz
499
- bound-lock/1 at=witness:bound023-ed by=target form=alphabet measure=id role=writes scope=sources/runtime-process-readings value=https://github.com/Lapxo/bound/releases/download/v0.2.3/process-readings.tgz
500
- bound-lock/1 at=witness:bound023-ed by=target form=alphabet measure=id role=writes scope=sources/runtime-publication-readings value=https://github.com/Lapxo/bound/releases/download/v0.2.3/legacy-publication-readings.tgz
501
- bound-lock/1 at=witness:bound023-ed by=target form=alphabet measure=id role=writes scope=sources/runtime-source-readings value=https://github.com/Lapxo/bound/releases/download/v0.2.3/source-readings.tgz
502
- bound-lock/1 at=witness:bound023-ed by=target form=alphabet measure=id role=writes scope=sources/source-readings value=https://github.com/Lapxo/bound/releases/download/v0.2.3/source-standing.bound
503
547
  bound-lock/1 at=witness:bound023-ed by=target form=alphabet measure=id role=writes scope=uses/closure-delivery value=sha256:ad759c5b607e89e1ea991b7aa62ae1e42ea3d08b2e1553875267572323a8e51c
504
548
  bound-lock/1 at=witness:bound023-ed-obligation by=target form=interval measure=count role=reads scope=delivery/violations value=0..0
505
549
  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
@@ -536,4 +580,11 @@ bound-lock/1 at=witness:publication-samples by=target form=alphabet measure=id n
536
580
  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
537
581
  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
538
582
  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
583
+ bound-lock/1 at=witness:shared-host-controls by=target form=alphabet measure=digest role=writes scope=dep/runtime-native-publication shape=dist/provider.js value=sha256:1670af577b15fcb1f508c93b70ea07684e9791647dbacbd0b5c33d3a39bc0cdb
584
+ bound-lock/1 at=witness:shared-host-controls by=target form=alphabet measure=digest role=writes scope=dep/runtime-process-readings shape=dist/index.js value=sha256:8c33dc36ce9a5aa7ef2059107ae0c6e48ca98a0bd8b9242627cb95928857cdd4
585
+ bound-lock/1 at=witness:shared-host-controls by=target form=alphabet measure=digest role=writes scope=dep/runtime-publication-readings shape=dist/provider.js value=sha256:4f586ba56a67f6675c8a651016789b5e4ef89a6422050ee14f74406574b86f6a
586
+ bound-lock/1 at=witness:shared-host-controls by=target form=alphabet measure=digest role=writes scope=dep/runtime-source-readings shape=dist/index.js value=sha256:28794bc9e3d36bd07163fb7bee0eac58b81ffc60e2fe820d5d41311eb699fefc
587
+ bound-lock/1 at=witness:shared-host-controls by=target form=alphabet measure=digest role=writes scope=uses/native-publication value=sha256:7f8a1b2cca65968b0887d6b49dcf154991ae1389173bea258af616bcaca30285
588
+ bound-lock/1 at=witness:shared-host-controls by=target form=alphabet measure=digest role=writes scope=uses/publication-readings value=sha256:bddba34559856a67d671e850d815cc2f836353eb886f1c49405d50c65bf1ab79
589
+ bound-lock/1 at=witness:shared-host-controls by=target form=alphabet measure=digest role=writes scope=uses/source-readings value=sha256:92039bde72157fd30a84c5d9186c73a2dbdd9eaee073df301d7c5d9e90277fe3
539
590
  bound-lock/1 at=witness:source-snapshot-reproduces-handed-implementation by=target form=alphabet measure=coordinates role=reads scope=region/source value=dist/**/*.js