Generate portable capability contexts and checked handler registries
This commit is contained in:
@@ -89,3 +89,17 @@ The service control vocabulary includes readiness, cancellation, and shutdown;
|
||||
transport framing and generated adapters are LF-05/LF-08. Portable modules and
|
||||
services implement the same declared operation contracts. ABI compatibility is
|
||||
not a statement about package trust, co-location permission, or multi-user isolation.
|
||||
|
||||
Portable package bindings are generated with `quixos-codegen-ts` options
|
||||
`{"portable":{"target":"browser"}}` (or `server`). They expose `Contexts`,
|
||||
`PortableImplementation`, checked codec declarations, and `createRegistry`.
|
||||
Handlers import the shared replica core, never Replicache. Stable mutation keys
|
||||
are mandatory for creation and selected nested transaction calls. Snapshot
|
||||
contexts expose only their declared read methods; runtime frame checks remain
|
||||
mandatory even when the TypeScript source passed compilation.
|
||||
|
||||
The maintained reader source in `tools/local-first/reader/portable.ts` typechecks
|
||||
against both generated targets without casts. The root
|
||||
`camino-portable-bindings` qualification compares Node, Window, Worker and
|
||||
serialized-port behavior. Its simulated channel tests adapters, not installed
|
||||
operation acquisition or process isolation; those require the coordinator.
|
||||
|
||||
Reference in New Issue
Block a user