Omniscio documentation
Browse all documentation
  1. Getting Started13
  2. Sessions & Agents115
  3. Inbox & Notifications59
  4. Projects & Tasks95
  5. Automation & Scheduling75
  6. Knowledge & Memory26
  7. AI Features60
  8. Integrations100
  9. Plugins & Marketplace33
  10. Cloud & Teams56
  11. Settings & Customization58
  12. Account & Billing28
  13. Troubleshooting84
  14. CLI & API Reference22
  15. Legal & Policies4
  16. Uncategorised22

Daily Journal Check-In (AI Coaching check-in nudge)

An opt-in ritual inside AI Coaching: a gentle inbox nudge inviting you to journal with your coach — a short daily check-in, and a longer weekly review. Covers what the two interviews are, where the nudge time and weekly day are set, how the entries accumulate as versions of one artifact, and how they stay private to coaching.

What it is

Daily Journal Check-In is an opt-in ritual inside AI Coaching: a gentle inbox nudge that invites you to journal with your AI coach. Two kinds:

  • Daily Check-in — a short (~5 minute) "unload your day" conversation: what happened, how you feel, what mattered, and anything to carry into tomorrow.
  • Weekly Review — a longer, more reflective look back over the whole week: the wins, the hard parts, the patterns underneath, and an intention for next week.

The point is twofold: a place to get things out of your head, and — because it runs as a real coaching interview — a way to build context your coach can draw on later.

Your entries stay private to coaching. They enrich future coaching sessions (and your Core Profile), but they are never folded into the "Things to know about the user" block that ordinary sessions (like a coding session) receive. Journal in, and it informs coaching only.

Where to find it

Daily Journal Check-In rides on AI Coaching, so AI Coaching must be on for it to do anything.

  1. Set your nudge time and weekly review day in Settings → AI Coach. Default: 8:00 PM, weekly review on Sunday.
  2. To turn it off, toggle "Daily Journal Check-In" in Settings → Features.

The two interviews also show up on the AI Coaching Dashboard the moment they're seeded, so you can run a check-in anytime without waiting for a nudge.

How it behaves

  • At your chosen time each day, a friendly card appears in your inbox: "Time for your daily check-in" (or, on your weekly day, "Time for your weekly review" — you never get both in one day).
  • The card's "Start check-in" button launches the actual coaching interview. When you finish, your coach writes a dated entry, saved as a coaching artifact.
  • Each day's entry accumulates as a new version of the same artifact ("Daily Check-in" / "Weekly Review"), so you build a browsable journal over time.
  • The nudge only fires when it can actually succeed — AI Coaching on, the feature on, and a working API key present — so it never nudges toward a dead end. If the app was asleep at your nudge time, it catches up once on the next check and never double-fires.
  • Snooze or dismiss the card like any inbox item; turn the whole thing off anytime in Settings.

Cost & privacy

Running an interview is a normal coaching session (you click to start it), plus the usual Haiku artifact-summary generation — it rides the existing AI Coaching cost caps, with no new spend path; the nudge itself is free. Entries are stored locally like every coaching artifact, and stay private to coaching (see above).

For agents

Under the hood

  • Single source of truth: src/shared/daily-journal.ts — the builtin interview ids, the artifact titles, the inbox dedup keys, the COACHING_ONLY_ARTIFACT_TITLES set, and the pure scheduling decision (resolveCheckinKindForDay + shouldFireCheckin, both unit-tested with frozen clocks).
  • The two interviews live in resources/ai-coaching-seed-prompts/ongoing.json (Daily Check-in, Weekly Review; sessionCategory: 'ongoing'), auto-seeded like every other coaching interview.
  • The nudge is raised by a small scanner, src/main/services/ai/ai-coaching/session/checkin-scanner.ts (a 5-minute createPeriodicTask tick, modeled on feature-nudge-scanner-service), gated on dailyJournalEnabled + aiCoachingEnabled + a usable key + the interview being seeded. The once-per-period gate is the nudge's own inbox row (findLatestCreatedAtByDedupKey) — no extra table. Registered in startup/registry.ts, stopped in app/shutdown.ts.
  • The nudge → interview launch is an AlertInboxViewer carve-out (like the gmail-reconnect / stuck-task custom buttons): the "Start check-in" button calls the existing AI_COACHING_START_INTERVIEW IPC with a fixed constant promptId resolved from the dedup key — never user input.
  • Coaching-only is a persisted flag (ai_coaching_artifacts.coaching_only, migration 20260705220309) stamped at save from the artifact title, and excluded from the profile block at exactly ONE chokepoint — buildSessionProfileContext passes listLatestArtifacts({ includeCoachingOnly: false }). The Core Profile is itself coaching-session-only, so journals may safely feed it.
  • Contract + invariants: daily-journal-contract.md locks the stamp/filter, the scanner gating, and the nudge carve-out — each to a named test.

Related

The coaching side of this — what a coaching session is, the interview library it draws on, and the Core Profile your journal entries feed — is on the AI Coaching page, with a practical walkthrough on the AI Coaching getting started page. If you would rather keep a journal that is not tied to a coaching interview, the plain Journal page covers that separate feature, and what this costs to run sits with the rest of the app's spending controls on the cost control page.

Last verified 2026-09-28