Saphan StudioDocs
Reference/Command reference

saphan laws

The LAWS MANIFEST: ratified Class-L standing-law documents

saphan laws

The LAWS MANIFEST: ratified Class-L standing-law documents

saphan laws

Subcommands

SubcommandWhat it does
saphan laws catPrint the ratified LAWS MANIFEST, or verify one Class-L document against it
saphan laws ratifyRoot-sign a fresh LAWS MANIFEST over the given Class-L documents

saphan laws cat

Print the ratified LAWS MANIFEST, or verify one Class-L document against it

saphan laws cat [path] [flags]

With no argument: root-verifies the manifest's OWN envelope (alg-pinned, untampered, root-signed) and lists its ratified entries — path, sha256, note — authenticated ONLY as far as the manifest's own signature proves (this does NOT re-hash any live file on disk).

With a path argument: identical to verify --class law <path> — walks the full Class-L chain (instr.Verify) and prints only the authenticated result. Read-only either way; nothing is written.

Options

OptionTypeDefaultDescription
--manifeststringunsetLAWS MANIFEST path (default: <workspace>/bridge/registry/LAWS_MANIFEST.md)
--registrystringunsetactor registry path (default: <workspace>/bridge/registry/ACTORS.md)
--root-pubstringunsetroot pin path (default: ~/.saphan/trust/root.key.pub)

saphan laws ratify

Root-sign a fresh LAWS MANIFEST over the given Class-L documents

saphan laws ratify <path>... [flags]

Hashes each given path's EXACT bytes, builds a monotonic-serial manifest table (instr.BuildManifestCanonical), and root-signs it — byte-identical to what verify/laws cat re-derive and check (canonical-symmetry). Owner-hand ceremony (which docs get ratified, when) is P1.e — this verb only builds the mechanism; tests drive it with synthetic keys/paths.

Options

OptionTypeDefaultDescription
--actorstringunsetsigning actor label (flag > SAPHAN_ACTOR > ~/.saphan/config)
--manifeststringunsetmanifest write path (default: <workspace>/bridge/registry/LAWS_MANIFEST.md)
--notestringunsetfree-text note applied to every entry this ratification writes
--root-keystringunsetroot private key path (default: ~/.saphan/trust/root.key)
--serialint640manifest serial (default: previous manifest's serial + 1, or 1 if none)
--tsstringunsetRFC3339 timestamp (default: now — tests pin this for determinism)

On this page