Expand description
Issue data model and file-surface types.
Mirrors contracts/file-format.md and data-model.md exactly. The
Issue struct is the Serde surface for the YAML frontmatter of an
issue file; the markdown body is carried in body and round-trips
verbatim. Status, Priority and Labels are the value types
that appear in frontmatter.
Structs§
- Comment
- A single issue comment, parsed from the
## Commentsbody section. - Health
Ref - The recurrence metadata an issue carries (
series:), missionrecurring-issues-01M3C7G7. - History
- The append-only event log of an issue (
data-model.md§8). - History
Event - One recorded mutation, and one line of the
## Historysection. - Issue
- An issue: one markdown file with YAML frontmatter.
- Series
Ref - One table, two roles, told apart by which fields are set — the definition
carries
rule, an occurrence carrieskey/date. Arole:flag would be a second source of truth a writer could disagree with, so there is none: [crate::recurrence::series::SeriesRef::role] derives it. - Series
Rule - The rule half of
series:, as the file spells it (data-model.md§2). - Status
- A board column name. A newtype over the user-defined column strings from
tix.toml; unknown names survive deserialization because columns are config-defined (a renamed column renders as a “Mismatched” pseudo-column, never a crash). - Transition
Decision - The auditable record of one accepted status transition (
data-model.md§5, WP03 T012).
Enums§
- History
Entry - One line of the
## Historysection. - History
Event Kind - What kind of mutation a
HistoryEventrecords. - Priority
- Issue priority.
Constants§
- HISTORY_
HEADING - The heading that introduces the History section, per
data-model.md§8. - KNOWN_
FRONTMATTER_ KEYS - Whether a frontmatter document still carries the retired
links:key.
Functions§
- capture_
extra_ frontmatter - Capture every top-level frontmatter key this model does not know, as
key -> raw source block(#1361). - date_
lte - Chronological order for two validated
YYYY-MM-DDstrings. - is_
history_ heading - Whether a line is an entry attempt: a list item whose content is shaped like an entry, under any accepted marker.
- looks_
like_ an_ unrecognised_ entry - Whether a line looks like a History entry that was not recognised — an entry hand-typed with ASCII hyphens instead of U+2014.
- looks_
like_ history_ entry - Whether a line is a recognised History entry attempt.
- today
- Today’s date as a local-free calendar date in
YYYY-MM-DD. - utc_
now_ rfc3339 - The current UTC instant as RFC 3339 (
2026-09-27T10:14:02Z), used forHistoryEventtimestamps. - validate_
date - A strict
YYYY-MM-DDcalendar-date check (shape + real month/day with per-month day counts and leap years,year >= 1970), so2026-13-99,2026-02-30and1969-12-31are all flagged as malformed. The shared validation path for date-bearing config and frontmatter fields (FR-007). - validate_
issue_ dates - Validate a
(start_date, due_date)pair for an issue (FR-007, C-002).
Type Aliases§
- Labels
- Issue labels. Free-form strings kept exactly as authored (case and
spaces preserved); default
[].