Skip to main content

Module schema

Module schema 

Source
Expand description

On-disk state schema types per design.md §1.

Structs§

ChildRef
(child_run_id, child_node_id) pointer recorded in Node::children.
Discussion
discussions/<discussion-id>.json (design.md §1.5).
DiscussionId
A validated discussion identifier: d- followed by exactly one of the two canonical bodies a generator emits — a 26-char lowercase Crockford base32 ULID (d-<ulid>) or a 10-char RFC 4648 base32 lowercase string (d-<sha-prefix>, the deterministic-id form). See is_canonical_disc_or_proposal_body.
Event
One event-log line (design.md §1.4).
Manifest
manifest.json (design.md §1.2).
Node
nodes/<node-id>.json (design.md §1.3).
NodeId
A validated node identifier: n- followed by 4 or more ASCII digits (e.g. n-0001). Mirrors what crate::format_node_id emits.
ProposalId
A validated spin-off proposal identifier: s- followed by exactly one of the two canonical bodies a generator emits — a 26-char lowercase Crockford base32 ULID (s-<ulid>) or a 10-char RFC 4648 base32 lowercase string (s-<sha-prefix>, the deterministic-id form). See is_canonical_disc_or_proposal_body.
RunId
A validated run identifier: a lowercase ULID (26 Crockford base32 characters whose first character keeps the encoded timestamp within ULID’s 48-bit range). Mirrors what crate::new_run_id emits.
SpinoffProposal
spinoffs/<proposal-id>.json (design.md §1.5).
TmuxIdentity
A fully-qualified tmux window identity recorded at spawn time.

Enums§

DiscussionStatus
Discussion lifecycle status (design.md §1.5).
IdValidationError
Error returned when a typed identifier fails parse-time validation.
Kind
The run/node kind enum (design.md §1.2).
Lifecycle
Lifecycle (design.md §1.2, §7.4).
SpinoffStatus
Spin-off proposal status (design.md §1.5, §7.3).
Status
Run/node status (design.md §1.2).

Constants§

STATE_SCHEMA_VERSION
The current state-on-disk schema version this crate writes.
SUPPORTED_STATE_SCHEMAS
All state-schema versions this crate can read.

Functions§

is_run_id_prefix
True iff s is a syntactically valid (possibly partial) prefix of a RunId: non-empty, no longer than a full ULID, every character a lowercase Crockford base32 digit, and a first character within ULID’s 0..=7 timestamp bound. Used by the CLI to resolve an unambiguous run-id prefix (like git) — a value failing this is a malformed argument (invalid_run_id), not a legitimate-but-unknown prefix. The first-char bound is enforced because no valid RunId can begin outside 0..=7, so an 8…/9… prefix is impossible rather than merely absent — reporting it as malformed keeps the error class honest and consistent with how RunId::parse_str rejects a full-length id with the same leading digit.