- docs/examples/employee-list: attaches to the running employee program; modes list / report (byte-identical to A's own) / staff <dept> / probe-write (registered read-only, insert must trap access-denied, exit 4, A unchanged) - the manifests ARE the design, written as a pair: A's [share] gains listen = unix socket beside WO_DATA plus [[share.clients]] naming B's public-key fingerprint with rights = "read"; B's [connect.employee] carries A's ipc string, A's PINNED fingerprint, and project = ../employee for compile-time shapes -- the connect section's name is the code's namespace (employee.Employee) - fingerprints are PASTE-HERE placeholders by design: keys generate into WO_DATA at first boot (9d), tomls carry fingerprints only, printed by --identity - sample-first: compiles after 9/9b/9c/9d; README maps each mode to the acceptance line it exists for; 9c/9d stories now name this sample as their workload Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
29 lines
1.4 KiB
TOML
29 lines
1.4 KiB
TOML
name = "employee-list"
|
|
version = "0.1.0"
|
|
description = "Program B of the cross-program story: attaches read-only to the running employee program (A) over its IPC channel after keypair authentication, and lists/aggregates A's tables over the wire"
|
|
|
|
[runtime]
|
|
wo = ">= 0.1"
|
|
|
|
[build]
|
|
runtime = "../../../runtime/wovm"
|
|
|
|
# Iteration 9c/9d surface (target — compiles once those land).
|
|
# The section NAME is the namespace this program's code uses: [connect.employee]
|
|
# makes A's tables reachable as `employee.Department` / `employee.Employee`.
|
|
[connect.employee]
|
|
# A's IPC string (9c fork 1: unix socket, listening beside A's WO_DATA;
|
|
# A declares the same path in its [share] section).
|
|
ipc = "unix:../employee/target/data/employee.sock"
|
|
|
|
# A's PINNED public-key fingerprint (9d): B refuses to speak to anything on
|
|
# that socket path that cannot sign A's challenge with this key — the
|
|
# impostor-socket acceptance line. Printed by `employee --identity` after
|
|
# A's first boot; paste it here. Never a private key, never a secret.
|
|
public_key = "ed25519:PASTE-EMPLOYEE-FINGERPRINT-HERE"
|
|
|
|
# Where B's compiler reads A's table shapes at compile time (9c fork 2's
|
|
# milestone lean: project-directory reference). The runtime handshake
|
|
# re-verifies the shapes against A's live class table at attach — a stale
|
|
# checkout refuses the attachment with both shapes named.
|
|
project = "../employee"
|