feat: LLM assistant integration for natural language task capture and scheduling suggestions #2

Open
opened 2026-07-05 11:02:34 -07:00 by pyr0ball · 0 comments
Collaborator

Context

The Focus Flow design doc (Unified Product Design Summary) lists "intelligent
assistant features" as a wishlist item. CF's circuitforge-core LLM module
provides a local-first LLM layer that aligns with Focus Flow's privacy principles.

Proposed scope

Natural language task capture

"Add a dentist appointment Thursday at 2pm" → parsed into a structured task with
inferred type (inflexible), time, duration estimate.

Uses a small local model (llama3.2:1b, mistral:7b) — no cloud required, no data
sent anywhere. Runs via CF's existing ollama/vllm integration.

Scheduling suggestions

When the day is over-filled or a task has been pushed repeatedly, offer plain-language
suggestions: "You've pushed 'Write report' 3 days in a row. Split it into smaller
steps?" — framed as observations, not nagging.

End-of-day summary (V2.0 weekly reports)

LLM-generated plain-language summary of what was completed, what was pushed, and
patterns. Opt-in, local-only.

Architecture

  • LLM calls go through a thin adapter in packages/scheduler_core or a new
    packages/scheduler_llm package
  • Adapter interface: LlmProvider (local vs cloud-optional) — CF provides the
    implementations
  • UI triggers (compose bar, push button long-press, end-of-day screen) remain
    in the Flutter layer

Privacy note

Local inference is the default and the required free-tier path. Any cloud LLM
option is opt-in, gated, and uses CF's privacy architecture (no PII logging,
no behavioral profiling).

License note

LLM integration code contributed by CF will be AGPL-3.0 consistent with the rest
of Focus Flow. CF's cloud infrastructure layer (BSL 1.1) operates separately and
is not bundled into this repo.

## Context The Focus Flow design doc (Unified Product Design Summary) lists "intelligent assistant features" as a wishlist item. CF's `circuitforge-core` LLM module provides a local-first LLM layer that aligns with Focus Flow's privacy principles. ## Proposed scope ### Natural language task capture "Add a dentist appointment Thursday at 2pm" → parsed into a structured task with inferred type (inflexible), time, duration estimate. Uses a small local model (llama3.2:1b, mistral:7b) — no cloud required, no data sent anywhere. Runs via CF's existing ollama/vllm integration. ### Scheduling suggestions When the day is over-filled or a task has been pushed repeatedly, offer plain-language suggestions: "You've pushed 'Write report' 3 days in a row. Split it into smaller steps?" — framed as observations, not nagging. ### End-of-day summary (V2.0 weekly reports) LLM-generated plain-language summary of what was completed, what was pushed, and patterns. Opt-in, local-only. ## Architecture - LLM calls go through a thin adapter in `packages/scheduler_core` or a new `packages/scheduler_llm` package - Adapter interface: `LlmProvider` (local vs cloud-optional) — CF provides the implementations - UI triggers (compose bar, push button long-press, end-of-day screen) remain in the Flutter layer ## Privacy note Local inference is the default and the required free-tier path. Any cloud LLM option is opt-in, gated, and uses CF's privacy architecture (no PII logging, no behavioral profiling). ## License note LLM integration code contributed by CF will be AGPL-3.0 consistent with the rest of Focus Flow. CF's cloud infrastructure layer (BSL 1.1) operates separately and is not bundled into this repo.
pyr0ball added this to the CF Integration Layer milestone 2026-07-05 19:56:20 -07:00
pyr0ball added the
area:cf-integration
label 2026-07-05 19:56:20 -07:00
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: eva/focus-flow#2
No description provided.