Skip to main content

Module model

Module model 

Source
Expand description

The wipe domain model.

These types map 1:1 onto the JSON files under .wipe/. Field order is significant: serde_json serializes struct fields in declaration order, and we rely on that (plus Vec ordering and no hash maps) to keep on-disk output deterministic. Optional/empty fields are skipped so diffs stay minimal.

Structs§

Activity
A recorded change to a ticket, shown in the activity timeline alongside comments. Kept deliberately small and pre-classified so any front-end can render a phrase from kind + detail without re-deriving it from diffs.
Attachment
A file attached to a ticket.
Board
The board - the top-level object of a project. Holds ordered Lists whose cards reference ticket IDs. Ticket content lives in separate files under tickets/, so moving a card and editing a ticket never touch the same file.
Comment
An inline comment on a ticket.
DaemonSettings
Configuration for the local daemon that serves the human UX.
Definitions
Project-wide registries: labels and priorities. (Tickets are categorized by labels only; there is no separate “type” or “tags” concept.)
Identity
A person or agent that can be assigned to tickets and author comments.
LabelDef
A label definition.
List
A list (column) on the board. cards is the ordered set of ticket IDs it holds.
Relation
A relation from one ticket to another.
Settings
Project settings, including how the local daemon is exposed.
Ticket
A ticket (card). Stored as its own file; comments are inline and short.

Enums§

AttachmentSource
Where an Attachment’s bytes live.
Exposure
How the local daemon is reachable.
IdentityKind
Kind of an Identity.
RelationKind
The kind of a Relation.
Starter
What to pre-populate a new board with (chosen during wipe init).

Constants§

DEFAULT_PORT
Default port the local daemon listens on when the user hasn’t chosen one.
FORMAT_VERSION
On-disk format version. Bumped when the JSON schema changes in a backwards-incompatible way; every top-level file carries it for migration.
LABEL_PALETTE
The label color palette. New labels are auto-assigned the first unused entry; colors can also be changed later. Matches the label set in docs/DESIGN.md.

Functions§

next_label_color
Pick the first palette color not already used by an existing label; if every palette color is in use, cycle deterministically by count.