Skip to content

feat(scheduler): preset bundles for /onboarding + /schedule-add first-run (E15-B)#174

Merged
kengio merged 7 commits into
mainfrom
feat/e15b-schedule-presets
May 12, 2026
Merged

feat(scheduler): preset bundles for /onboarding + /schedule-add first-run (E15-B)#174
kengio merged 7 commits into
mainfrom
feat/e15b-schedule-presets

Conversation

@kengio
Copy link
Copy Markdown
Collaborator

@kengio kengio commented May 12, 2026

Summary

Three opinionated preset tiers (Minimal / Essentials / Maintenance Plus) + Custom escape hatch. Shown to users with empty schedule: block during /onboarding (default = Essentials) and /schedule-add Step 0. Idempotent + non-destructive — never re-prompts users with existing schedules.

  • Plugin v2.4.8 → v2.4.9 · CLI unchanged at v2.3.1
  • Tier 3 demonstrates skill + command modes coexisting (uses E15-A schema)
  • Single source of truth at _shared/schedule-presets.md

Depends on

PR #173 (E15-A — hook-style command mode) merged to main. Tier 3 includes a command: onebrain entry that requires PR A's ScheduleEntry.command schema.

Preset tiers

# Tier 1: Minimal (1)
- cron: "0 9 * * *"
  skill: /daily

# Tier 2: Essentials Recommended (3)
- /daily 09:00 (every day)
- /weekly Friday 17:00 (workday-end)
- /recap Sunday 12:00 (weekend reflection)

# Tier 3: Maintenance Plus (6 — mixes skill + command modes)
- Essentials +
- /doctor 1st of month 09:00
- /tasks daily 06:00 (pre-work refresh)
- onebrain qmd-reindex Sunday 03:00 (command-mode, hook-style)

# Tier 4: Custom — drops to wizard

Workday vs weekend cadence

  • All-day: /daily 09:00, /tasks 06:00
  • Workday-end: /weekly Friday 17:00
  • Weekend: /recap Sunday 12:00, onebrain qmd-reindex Sunday 03:00
  • Calendar-pinned: /doctor 1st of month 09:00

Times staggered across the day (03/06/09/12/17) so launchd never spawns multiple OneBrain jobs simultaneously.

3-round review consensus

All 3 reviewers approved without required fixes:

  • R1 (skill content) — single-source pattern holds; tier YAML in _shared/ only; idempotency contract clean
  • R2 (docs + versioning) — placements correct; 5-bullet changelog within 8-cap; CLI unchanged at 2.3.1; memory rules pass
  • R3 (spec compliance) — 10/10 acceptance criteria met; no src/ touched; English-only clean

Test plan

  • /schedule-add with empty schedule: block prompts preset selector
  • /schedule-add with non-empty schedule: block skips preset prompt (straight to wizard)
  • Picking Tier 2 writes 3 entries and registers via onebrain register-schedule
  • Picking Tier 3 writes 5 skill entries + 1 command entry (Tier 3 needs E15-A schema)
  • /onboarding shows preset step with Essentials as default
  • Skip in /onboarding writes no schedule entries
  • _shared/schedule-presets.md is the only file containing tier YAML — no duplication

Out of scope

  • Workday-only cron (Mon-Fri × 5 entries — too heavy for default)
  • Customize-times-before-install flow (defer)
  • Wizard support for constructing command-mode entries (defer; users hand-edit vault.yml)

Spec: `01-projects/onebrain/shared/2026-05-12-schedule-presets-design.md` (E15-B)
Plan: `01-projects/onebrain/shared/2026-05-12-schedule-presets-plan.md`
Depends on: #173 (E15-A scheduler command mode)

@kengio kengio merged commit e9911f0 into main May 12, 2026
1 check passed
@kengio kengio deleted the feat/e15b-schedule-presets branch May 12, 2026 07:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant