kcode-k1-launch-nodes 0.3.0

Authority-scoped append-only target-to-launch-node bindings for K1
Documentation
1
2
3
4
5
6
7
8
9
10
11
# K1 launch nodes

Version 0.3.0 uses `kcode-k1-access-types` 0.4.0.

`kcode-k1-launch-nodes` owns one synchronous append-only file mapping an authority-scoped target name to a Kmap launch `NodeId`. `TargetId` combines an `Authority` from `kcode-k1-access-types` with a case-sensitive `TargetName`. Names contain 1 through 80 Unicode scalar characters, have at least one non-whitespace character, reject control characters, and otherwise preserve their exact text; `/` is valid.

`LaunchNodes::open` creates a new v2 file with its exact magic/version header and synchronizes its parent directory. Headerless 0.1.0 files fail explicitly; this package has no migration reader. It replays canonical variable-length records into an in-memory last-write-wins map. A record contains a User or Group authority tag, its exact 12-byte transaction ID, UTF-8 target byte length and bytes (at most 320), `NodeId`, and checksum. Only an incomplete final record is truncated and synchronized. Invalid tags, names, lengths, UTF-8, checksums, or complete records fail open.

`set` appends and synchronizes before changing memory, including unchanged bindings. Calls are serialized by one in-process mutex; an append or sync failure poisons the store. One trusted exclusive owner is required: there is no multiprocess coordination.

This package has no Access authorization, HTTP, listing, deletion, compaction, callbacks, background work, node loading, networking, or transaction-history integration.