pub enum EssenceSection {
Intent,
Conventions,
Decisions,
State,
Open,
Next,
Lessons,
Timeline,
}Expand description
Which essence section an item belongs to.
Rendering order is fixed at this type’s declaration order:
intent → conventions → decisions → state → open → next → lessons
→ timeline. See EssenceSection::render_order for the explicit
list and the crate::Mnemo::essence docs for per-section rules
(timeline is append-only, every other section is item-edited).
Variants§
Intent
What the thread is trying to do.
Conventions
How the user works — conventions that survive across threads.
Decisions
Decisions made and why (newest first on render).
State
The current state of the work.
Open
Open problems.
Next
What to do next.
Lessons
Lessons learned — mistakes caught and their fixes.
Timeline
Append-only milestone timeline. Entries capped at
ESSENCE_TIMELINE_MAX_BYTES and never editable.
Implementations§
Source§impl EssenceSection
impl EssenceSection
Sourcepub fn parse(s: &str) -> Option<EssenceSection>
pub fn parse(s: &str) -> Option<EssenceSection>
Parse a string from _mnemo.section into the typed enum.
Case-insensitive; returns None on unknown input.
Sourcepub fn render_order() -> &'static [EssenceSection]
pub fn render_order() -> &'static [EssenceSection]
Fixed render order (intent → conventions → decisions → state
→ open → next → lessons → timeline). The crate::Mnemo::essence
render walks this list, allocating a per-section byte budget
proportional to section importance in the user-centric order.
Sourcepub fn has_status_lifecycle(&self) -> bool
pub fn has_status_lifecycle(&self) -> bool
true for sections whose items carry an open → resolved
status lifecycle (every section except EssenceSection::Timeline).
Sourcepub fn item_max_bytes(&self) -> usize
pub fn item_max_bytes(&self) -> usize
Per-section byte cap for new items. Timeline: 600 bytes. Every other section: 280 bytes.