Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.canthus.org/llms.txt

Use this file to discover all available pages before exploring further.

What users see and what stays internal

Visible

  • Daily mana value
  • Human transparency sentence
  • Task cost on cards
  • Essential-task behavior
  • Pattern and stability framing

Hidden

  • Personal coefficient value
  • Confidence score
  • EWMA internals
  • Axis factor internals
  • Raw system parameters
Internal metrics are intentionally hidden to reduce anxiety and false precision.

Design principles

“Energy” is clinical. “Mana” gives users a lighter, less stigmatizing way to talk about limits while still operating as a strict budgeting unit.
Relative effort framing is more honest than implying clinical precision from population MET tables that do not represent altered chronic-illness physiology.
Greyed tasks repeatedly present what cannot be done. Hidden non-doable tasks reduce cognitive burden and learned helplessness signals. Essential tasks are the safety exception.
Conservative bias (0.80-0.97) protects against over-allocation and good-day optimism error.
Streak mechanics punish normal variability and create failure framing in chronic conditions.
Absence is neutral. Return is handled with brief confidence moderation instead of retroactive decay.
Sustainable pacing requires protected space for meaningful activities, not only maintenance tasks.
Bad states are not hidden. Honest visibility is required for trust and safety.
Tiered check-ins preserve autonomy: lower capacity yields lower data quality, not denied access.

Transparency sentence policy

StateSentence style
Low confidencelearning + conservative framing
Medium confidencehistory-based with safety margin
High confidencestable-fit framing
Post-PEMrecovery framing
Return after absencegentle catch-up framing
No sentence exposes hidden system internals.
The product contract is not cosmetic. These rules constrain algorithm outputs, copy behavior, and UI states so user trust remains stable as the model evolves.

Capacity display rules (ENG-31)

Default: qualitative

By default the Home screen displays capacity as a qualitative tier via ManaOrbCluster. Tiers are derived from the remaining / allocated ratio:
TierRatioMeaning
1< 0.25Very low
20.25 - 0.50Low-medium
30.50 - 0.75Medium-high
4>= 0.75Plenty
Rationale: numeric mana values invite depletion anxiety. Qualitative tiers convey runway without anchoring to a number.

Opt-in numeric display

Numeric mana (e.g. “34 mana remaining”) is available via feature flag ff_show_numeric_mana. Controlled by numericManaEnabledProvider. When on, the hero card shows the numeric value alongside the orbs.

Low-capacity mode (ENG-33)

Threshold: remaining / allocated < 0.15 OR allocated <= 0. Behaviour:
  • Actionable Today collapses to at most 1 item. Priority: smallest-cost essential, else smallest-cost any.
  • Gentle Upcoming hidden entirely.
  • Section header copy: calm phrase (e.g. “Rest is on the list today.”).
  • “Show full list” expander available if user wants to see more.
  • No urgency indicators, no “blocked” language, no exclamation marks.
Copy rules: same non-blame, non-urgency rules as task_copy.dart.