Skip to content

v3.0.0 - Journaling

Choose a tag to compare

@manucompiles manucompiles released this 04 Jul 01:36

Added

  • Journal (#79) - a new top-level section (/journal): one structured note per day, with a calendar (entry dots) to browse any date.
    • Three templates: Daily (check-ins, What's going on, Mind dump, Projects today, Today's plan, Front/Back of mind, Daily review, Evening review, Journal), Gratitude, and Affirmations (revisited at the evening close to celebrate wins). Empty sections stay quietly collapsed; the optional Journal section is "earned depth only".
    • Mood check-ins - timestamped, several per day, logged through a feelings wheel (7 cores / 41 secondaries / 82 tertiaries, multi-select, own words welcome). The Map of Consciousness score is derived from your picks, never self-tagged; the rail shows the day as a mood arc colored red-to-green by level with a courage-200 reference line. Emotion shift and energy-at-EOD derive from your first and last check-ins.
    • Task-linked plan - three buckets (Non-negotiable / If energy allows / Easy wins); the combobox finds open tasks or creates one via an explicit "+ Create task" row (due today, Inbox). "Unplanned, got done" fills itself from tasks completed that day that were never planned.
    • Front/Back of mind - transient rail lists designed to be cleared by close of day; uncleared items resurface tomorrow as "rolled over - keep?" candidates.
    • Today so far widget (plan progress, time logged, habits, check-ins) + a jump-to-evening shortcut; after 6pm the page opens on the evening cluster.
    • Edit / Preview toggle and export - preview and download show the same backend-rendered, Obsidian-compatible markdown; export one day as .md or everything as a zip.
    • The journal carries its own scoped look (fog paper / plum / serif prose, soft dark mode) via new --color-j-* tokens; the rest of the app is untouched.

Notes

  • New tables: JournalTemplates (code-defined, upserted by key at startup), JournalEntries (one per template per date, unique-indexed, content as JSON TEXT), MoodCheckins (first table with no Task FK). New completedOn= filter on GET /api/tasks. Markdown is generated by a pure Services/JournalMarkdown helper - stored data is structured JSON, markdown is only ever a render.
  • New frontend dependency: react-markdown (preview display only). Feelings-wheel dataset + Hawkins scale mapping sourced in docs/research/feelings-wheel-moc.md.
  • Journal endpoints are LAN-only and NOT exposed over the MCP connector yet - deliberately deferred until minimal auth (planned v3.1).