@aitne-sh/aitne 0.1.7 → 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +256 -833
- package/agent-assets/agent-profiles/_safety.md +52 -20
- package/agent-assets/agent-profiles/browser-task.md +108 -0
- package/agent-assets/agent-profiles/conversational.md +3 -3
- package/agent-assets/agent-profiles/profile-importer.md +3 -3
- package/agent-assets/agent-profiles/routine-fetch-window.md +30 -19
- package/agent-assets/agent-profiles/routine.md +4 -3
- package/agent-assets/agents/context-index-reconcile/agent.md +52 -0
- package/agent-assets/agents/evening-review/agent.md +53 -0
- package/agent-assets/agents/hourly-check/agent.md +62 -0
- package/agent-assets/agents/monthly-review/agent.md +55 -0
- package/agent-assets/agents/morning-routine/agent.md +78 -0
- package/agent-assets/agents/roadmap-maintenance/agent.md +52 -0
- package/agent-assets/agents/skill-curation/agent.md +52 -0
- package/agent-assets/agents/user-profile-sweep-evening/agent.md +48 -0
- package/agent-assets/agents/user-profile-sweep-morning/agent.md +53 -0
- package/agent-assets/agents/weekly-review/agent.md +51 -0
- package/agent-assets/docs/concepts/agent-day.md +18 -11
- package/agent-assets/docs/concepts/auth-health.md +56 -10
- package/agent-assets/docs/concepts/backends-and-tiers.md +110 -41
- package/agent-assets/docs/concepts/costs-and-quotas.md +74 -19
- package/agent-assets/docs/concepts/delegated-mode.md +193 -75
- package/agent-assets/docs/concepts/memory-model.md +79 -34
- package/agent-assets/docs/concepts/observations.md +61 -11
- package/agent-assets/docs/concepts/process-keys.md +66 -17
- package/agent-assets/docs/concepts/routines.md +77 -32
- package/agent-assets/docs/concepts/safety-and-execution.md +50 -21
- package/agent-assets/docs/concepts/safety-model.md +62 -37
- package/agent-assets/docs/concepts/skills.md +38 -17
- package/agent-assets/docs/features/integrations/browser-history.md +195 -0
- package/agent-assets/docs/features/integrations/calendar.md +40 -30
- package/agent-assets/docs/features/integrations/git.md +20 -9
- package/agent-assets/docs/features/integrations/github.md +93 -35
- package/agent-assets/docs/features/integrations/mail.md +60 -17
- package/agent-assets/docs/features/integrations/notion.md +51 -11
- package/agent-assets/docs/features/integrations/obsidian.md +35 -7
- package/agent-assets/docs/features/lifestyle/git.md +45 -44
- package/agent-assets/docs/features/lifestyle/reading.md +50 -22
- package/agent-assets/docs/features/lifestyle/receipts.md +66 -21
- package/agent-assets/docs/features/lifestyle/travel-bookings.md +91 -14
- package/agent-assets/docs/features/memory-files/agent-journal.md +111 -50
- package/agent-assets/docs/features/memory-files/projects.md +75 -15
- package/agent-assets/docs/features/memory-files/roadmap.md +55 -10
- package/agent-assets/docs/features/memory-files/schedule.md +113 -70
- package/agent-assets/docs/features/memory-files/today.md +47 -21
- package/agent-assets/docs/features/memory-files/user-profile.md +67 -31
- package/agent-assets/docs/features/messaging/bang-commands.md +115 -28
- package/agent-assets/docs/features/messaging/dashboard-chat.md +43 -21
- package/agent-assets/docs/features/messaging/discord.md +46 -4
- package/agent-assets/docs/features/messaging/overview.md +40 -19
- package/agent-assets/docs/features/messaging/pairing-and-magic-phrase.md +94 -27
- package/agent-assets/docs/features/messaging/slack.md +79 -14
- package/agent-assets/docs/features/messaging/telegram.md +25 -6
- package/agent-assets/docs/features/messaging/whatsapp.md +79 -14
- package/agent-assets/docs/features/operations/activity-and-conversations.md +45 -16
- package/agent-assets/docs/features/operations/approvals.md +53 -15
- package/agent-assets/docs/features/operations/backend-routing.md +75 -16
- package/agent-assets/docs/features/operations/cost-tracking.md +90 -17
- package/agent-assets/docs/features/operations/managed-chromium.md +221 -0
- package/agent-assets/docs/features/operations/notifications.md +58 -11
- package/agent-assets/docs/features/operations/quiet-hours.md +63 -40
- package/agent-assets/docs/features/operations/schedule-approaching.md +59 -16
- package/agent-assets/docs/features/routines/custom-routines.md +97 -23
- package/agent-assets/docs/features/routines/evening-review.md +75 -22
- package/agent-assets/docs/features/routines/hourly-check.md +150 -30
- package/agent-assets/docs/features/routines/morning-routine.md +60 -33
- package/agent-assets/docs/features/routines/weekly-review.md +65 -20
- package/agent-assets/docs/features/wiki/commands.md +37 -16
- package/agent-assets/docs/features/wiki/cost-and-approval.md +240 -0
- package/agent-assets/docs/features/wiki/dashboard.md +255 -0
- package/agent-assets/docs/features/wiki/overview.md +80 -12
- package/agent-assets/docs/features/wiki/search.md +248 -0
- package/agent-assets/docs/features/wiki/workspaces.md +254 -0
- package/agent-assets/docs/getting-started/01-what-is-this.md +64 -32
- package/agent-assets/docs/getting-started/02-first-steps.md +28 -10
- package/agent-assets/docs/getting-started/03-what-can-this-do.md +42 -21
- package/agent-assets/docs/getting-started/04-first-day.md +52 -20
- package/agent-assets/docs/glossary.md +285 -21
- package/agent-assets/docs/guides/add-a-custom-routine.md +74 -22
- package/agent-assets/docs/guides/backup-and-restore.md +92 -14
- package/agent-assets/docs/guides/budget-and-cost-for-wiki.md +62 -25
- package/agent-assets/docs/guides/build-your-wiki.md +33 -6
- package/agent-assets/docs/guides/change-which-model-handles-x.md +70 -9
- package/agent-assets/docs/guides/connect-a-new-mail-account.md +80 -15
- package/agent-assets/docs/guides/explore-with-trace-and-connect.md +32 -9
- package/agent-assets/docs/guides/import-knowledge-file.md +60 -39
- package/agent-assets/docs/guides/install-and-run.md +64 -19
- package/agent-assets/docs/guides/maintain-wiki-health.md +41 -10
- package/agent-assets/docs/guides/migrate-machines.md +86 -18
- package/agent-assets/docs/guides/multiple-wikis-for-multiple-domains.md +119 -59
- package/agent-assets/docs/guides/pause-the-agent.md +71 -22
- package/agent-assets/docs/guides/reinstall-cleanly.md +102 -17
- package/agent-assets/docs/guides/setup-wizard.md +126 -56
- package/agent-assets/docs/guides/switch-default-backend.md +72 -17
- package/agent-assets/docs/guides/use-an-existing-obsidian-vault.md +31 -10
- package/agent-assets/docs/reference/api.md +162 -23
- package/agent-assets/docs/reference/cli-commands.md +55 -15
- package/agent-assets/docs/reference/config.md +246 -39
- package/agent-assets/docs/reference/disallowed-tools.md +42 -10
- package/agent-assets/docs/reference/keyboard-shortcuts.md +47 -10
- package/agent-assets/docs/reference/knowledge-layout.md +620 -0
- package/agent-assets/docs/reference/process-keys.md +126 -20
- package/agent-assets/docs/reference/skills.md +62 -18
- package/agent-assets/docs/troubleshooting/auth-failed.md +53 -19
- package/agent-assets/docs/troubleshooting/dashboard-shows-degraded.md +96 -22
- package/agent-assets/docs/troubleshooting/fallback-keeps-firing.md +94 -20
- package/agent-assets/docs/troubleshooting/messaging-not-pairing.md +77 -22
- package/agent-assets/docs/troubleshooting/morning-routine-didnt-run.md +87 -22
- package/agent-assets/docs/troubleshooting/observation-not-detected.md +85 -21
- package/agent-assets/docs/troubleshooting/quota-exhausted.md +36 -6
- package/agent-assets/docs/troubleshooting/wiki-ingest-full-blocked.md +128 -51
- package/agent-assets/docs/troubleshooting/wiki-write-failed.md +33 -11
- package/agent-assets/optimizer-skills/drift-analysis/SKILL.md +1 -1
- package/agent-assets/optimizer-skills/knowledge-map/SKILL.md +1 -1
- package/agent-assets/optimizer-skills/skill-curation/SKILL.md +2 -2
- package/agent-assets/sandbox/linux/aitne-chromium.apparmor +91 -0
- package/agent-assets/sandbox/macos/aitne-chromium.sb +156 -0
- package/agent-assets/skills/agent-actions/SKILL.md +122 -0
- package/agent-assets/skills/agent-create/SKILL.md +149 -0
- package/agent-assets/skills/attach/SKILL.md +3 -4
- package/agent-assets/skills/browser-history/SKILL.md +198 -0
- package/agent-assets/skills/browser-history-respond/SKILL.md +106 -0
- package/agent-assets/skills/browser-task/SKILL.md +169 -0
- package/agent-assets/skills/context/SKILL.md +45 -463
- package/agent-assets/skills/context/curation.json +2 -2
- package/agent-assets/skills/context/references/api.md +232 -0
- package/agent-assets/skills/context/references/required-frontmatter.md +73 -0
- package/agent-assets/skills/context/references/snapshot-files.md +103 -0
- package/agent-assets/skills/context/seeds/file-responsibilities.seed.json +4 -4
- package/agent-assets/skills/docs-search/SKILL.md +17 -16
- package/agent-assets/skills/external-services/SKILL.delegated.claude.md +14 -26
- package/agent-assets/skills/external-services/SKILL.delegated.codex.md +14 -26
- package/agent-assets/skills/external-services/SKILL.delegated.gemini.md +14 -26
- package/agent-assets/skills/external-services/SKILL.md +9 -262
- package/agent-assets/skills/external-services/SKILL.native.claude.md +6 -7
- package/agent-assets/skills/external-services/SKILL.native.codex.md +8 -9
- package/agent-assets/skills/external-services/SKILL.native.gemini.md +5 -6
- package/agent-assets/skills/external-services/references/calendar-apple.md +97 -0
- package/agent-assets/skills/external-services/references/calendar-google.md +72 -0
- package/agent-assets/skills/external-services/references/calendar-outlook.md +36 -0
- package/agent-assets/skills/external-services/references/github.md +17 -0
- package/agent-assets/skills/external-services/references/obsidian.md +49 -0
- package/agent-assets/skills/external-services/references/skills-crud.md +27 -0
- package/agent-assets/skills/gmail-lifestyle/SKILL.md +151 -0
- package/agent-assets/skills/gmail-lifestyle/references/receipts-api.md +93 -0
- package/agent-assets/skills/gmail-lifestyle/references/travel-bookings-api.md +75 -0
- package/agent-assets/skills/mail/SKILL.delegated.claude.md +15 -6
- package/agent-assets/skills/mail/SKILL.delegated.codex.md +9 -5
- package/agent-assets/skills/mail/SKILL.delegated.gemini.md +9 -5
- package/agent-assets/skills/mail/SKILL.md +9 -114
- package/agent-assets/skills/mail/SKILL.native.claude.md +1 -1
- package/agent-assets/skills/mail/SKILL.native.codex.md +1 -1
- package/agent-assets/skills/mail/SKILL.native.gemini.md +1 -1
- package/agent-assets/skills/mail/references/api.md +110 -0
- package/agent-assets/skills/mail/references/examples.md +70 -0
- package/agent-assets/skills/mail/references/providers.md +8 -8
- package/agent-assets/skills/managed-tasks/SKILL.md +472 -0
- package/agent-assets/skills/managed-tasks/references/errors.md +73 -0
- package/agent-assets/skills/managed-tasks/references/output-path.md +75 -0
- package/agent-assets/skills/managed-tasks/references/recurrence-rule.md +86 -0
- package/agent-assets/skills/management-policy/SKILL.md +54 -125
- package/agent-assets/skills/management-policy/curation.json +1 -1
- package/agent-assets/skills/management-policy/references/policy-workflow.md +101 -0
- package/agent-assets/skills/management-policy/seeds/policy-file-shape.seed.json +1 -1
- package/agent-assets/skills/notify/SKILL.md +10 -82
- package/agent-assets/skills/notify/references/priority.md +65 -0
- package/agent-assets/skills/notion/SKILL.delegated.claude.md +2 -2
- package/agent-assets/skills/notion/SKILL.delegated.codex.md +2 -2
- package/agent-assets/skills/notion/SKILL.delegated.gemini.md +2 -2
- package/agent-assets/skills/notion/SKILL.md +6 -10
- package/agent-assets/skills/notion/SKILL.native.claude.md +11 -8
- package/agent-assets/skills/notion/SKILL.native.codex.md +10 -6
- package/agent-assets/skills/notion/SKILL.native.gemini.md +10 -6
- package/agent-assets/skills/observations/SKILL.md +25 -14
- package/agent-assets/skills/project-doc/SKILL.md +2 -6
- package/agent-assets/skills/project-doc/curation.json +3 -3
- package/agent-assets/skills/project-doc/seeds/project-shape.seed.json +7 -4
- package/agent-assets/skills/project-doc/seeds/slug-grammar.seed.json +3 -3
- package/agent-assets/skills/reading/SKILL.md +12 -2
- package/agent-assets/skills/reading/references/reading-taste.md +2 -2
- package/agent-assets/skills/roadmap/SKILL.md +43 -141
- package/agent-assets/skills/roadmap/curation.json +1 -1
- package/agent-assets/skills/roadmap/references/api.md +100 -0
- package/agent-assets/skills/roadmap/references/cross-check.md +80 -0
- package/agent-assets/skills/roadmap/references/migration.md +56 -0
- package/agent-assets/skills/roadmap/references/preparation-timeline.md +2 -2
- package/agent-assets/skills/roadmap/seeds/entry-types.seed.json +1 -1
- package/agent-assets/skills/schedule/SKILL.md +76 -104
- package/agent-assets/skills/schedule/references/batch.md +93 -0
- package/agent-assets/skills/schedule/references/errors.md +217 -0
- package/agent-assets/skills/schedule/references/model-selection.md +96 -0
- package/agent-assets/skills/schedule/references/recurrence-rule.md +86 -0
- package/agent-assets/skills/scheduled-managed-task/SKILL.md +59 -51
- package/agent-assets/skills/today/SKILL.md +32 -62
- package/agent-assets/skills/today/curation.json +3 -3
- package/agent-assets/skills/today/references/agent-plan-lifecycle.md +114 -0
- package/agent-assets/skills/today/seeds/section-shape.seed.json +1 -1
- package/agent-assets/skills/user-interview/SKILL.md +23 -67
- package/agent-assets/skills/user-interview/references/op-briefing.md +51 -0
- package/agent-assets/skills/user-interview/references/op-morning.md +59 -0
- package/agent-assets/skills/user-interview/references/sweep-and-fallback.md +9 -1
- package/agent-assets/skills/user-profile/SKILL.md +54 -74
- package/agent-assets/skills/user-profile/curation.json +2 -2
- package/agent-assets/skills/user-profile/references/character-preferences.md +83 -0
- package/agent-assets/skills/user-profile/seeds/routing-table.seed.json +8 -8
- package/agent-assets/skills/user-profile/seeds/topic-files.seed.json +30 -2
- package/agent-assets/skills/wiki/wiki-ask/SKILL.md +0 -1
- package/agent-assets/skills/wiki/wiki-compile/SKILL.md +4 -5
- package/agent-assets/skills/wiki/wiki-connect/SKILL.md +0 -1
- package/agent-assets/skills/wiki/wiki-graduate/SKILL.md +0 -1
- package/agent-assets/skills/wiki/wiki-ingest/SKILL.md +0 -1
- package/agent-assets/skills/wiki/wiki-lint/SKILL.md +0 -1
- package/agent-assets/skills/wiki/wiki-trace/SKILL.md +0 -1
- package/agent-assets/skills/wiki/wiki-vault-rules/SKILL.md +0 -1
- package/agent-assets/system-prompts/routine-fetch-window.md +78 -0
- package/agent-assets/system-prompts/skill-index-instruction.md +26 -0
- package/agent-assets/task-flows/_partials/calendar-acquire.google_calendar.md +20 -11
- package/agent-assets/task-flows/_partials/calendar-acquire.outlook_calendar.md +18 -9
- package/agent-assets/task-flows/_partials/capture-user-info.md +24 -0
- package/agent-assets/task-flows/_partials/confirm-subflow.md +68 -0
- package/agent-assets/task-flows/_partials/dm-intent.long-horizon.md +35 -0
- package/agent-assets/task-flows/_partials/dm-intent.project.md +391 -0
- package/agent-assets/task-flows/_partials/mail-acquire.gmail.md +20 -11
- package/agent-assets/task-flows/_partials/mail-acquire.outlook_mail.md +18 -9
- package/agent-assets/task-flows/_partials/notion-acquire.notion.md +26 -15
- package/agent-assets/task-flows/browser_task.md +84 -0
- package/agent-assets/task-flows/github.assigned.md +1 -1
- package/agent-assets/task-flows/github.pull_request.review_requested.md +2 -2
- package/agent-assets/task-flows/github.workflow_run.failed.md +2 -2
- package/agent-assets/task-flows/knowledge.import.md +15 -15
- package/agent-assets/task-flows/message.received.dm.md +20 -17
- package/agent-assets/task-flows/message.received.dm_first.md +11 -15
- package/agent-assets/task-flows/routine.custom.md +6 -4
- package/agent-assets/task-flows/routine.evening_review.md +46 -170
- package/agent-assets/task-flows/routine.fetch_window.md +19 -14
- package/agent-assets/task-flows/routine.hourly_check.md +27 -15
- package/agent-assets/task-flows/routine.hourly_check.triage.md +1 -1
- package/agent-assets/task-flows/routine.monthly_review.md +67 -25
- package/agent-assets/task-flows/routine.morning_routine_journal.md +135 -0
- package/agent-assets/task-flows/routine.morning_routine_today.md +673 -0
- package/agent-assets/task-flows/routine.research_cluster_update.md +35 -0
- package/agent-assets/task-flows/routine.research_dispatch.md +38 -0
- package/agent-assets/task-flows/routine.research_offer_dm.md +125 -0
- package/agent-assets/task-flows/routine.research_wiki_summary.md +53 -0
- package/agent-assets/task-flows/routine.roadmap_refresh.md +68 -23
- package/agent-assets/task-flows/routine.today_refresh.md +4 -4
- package/agent-assets/task-flows/routine.user_profile_sweep.md +19 -20
- package/agent-assets/task-flows/routine.weekly_review.md +370 -86
- package/agent-assets/task-flows/schedule.approaching.md +0 -1
- package/agent-assets/task-flows/scheduled.dm.md +13 -13
- package/agent-assets/task-flows/scheduled.task.md +9 -9
- package/agent-assets/task-flows/setup.initial.md +171 -251
- package/agent-assets/task-flows/setup.update.md +2 -2
- package/agent-assets/task-flows/wiki.ingest_url.md +1 -1
- package/agent-assets/templates/README.md +27 -20
- package/agent-assets/templates/_index.md +42 -26
- package/agent-assets/templates/_manifest.json +34 -99
- package/agent-assets/templates/{user → identity}/_index.md +1 -1
- package/agent-assets/templates/identity/expertise.md +9 -0
- package/agent-assets/templates/identity/goals.md +9 -0
- package/agent-assets/templates/identity/people.md +13 -0
- package/agent-assets/templates/identity/personal.md +9 -0
- package/agent-assets/templates/{user → identity}/profile.md +2 -2
- package/agent-assets/templates/identity/work.md +9 -0
- package/agent-assets/templates/{dossiers → knowledge/dossiers}/_index.md +2 -2
- package/agent-assets/templates/{projects → plans/projects}/_active.base +1 -1
- package/agent-assets/templates/policies/_index.md +21 -0
- package/agent-assets/templates/{rules → policies}/journal-export.md +1 -1
- package/agent-assets/templates/policies/journal-format.md +168 -0
- package/agent-assets/templates/{rules/policies → policies/management-captures}/_index.md +2 -2
- package/agent-assets/templates/{rules → policies}/management.md +3 -3
- package/agent-assets/templates/{rules → policies}/mcp.md +1 -1
- package/agent-assets/templates/{rules → policies}/redaction.md +1 -1
- package/agent-assets/templates/{routines → policies/routines}/_index.md +1 -1
- package/agent-assets/templates/{routines → policies/routines}/evening.md +2 -2
- package/agent-assets/templates/{routines → policies/routines}/hourly.md +1 -1
- package/agent-assets/templates/{routines → policies/routines}/monthly.md +2 -2
- package/bin/aitne.mjs +21 -5
- package/package.json +5 -4
- package/scripts/commands/doctor.mjs +63 -5
- package/scripts/commands/run-now.mjs +187 -0
- package/scripts/commands/verify.mjs +264 -0
- package/scripts/lib/ports.d.mts +27 -0
- package/scripts/lib/ports.mjs +36 -0
- package/scripts/lib/read-api-token.mjs +176 -0
- package/scripts/start.mjs +2 -1
- package/agent-assets/docs/features/lifestyle/travel-time.md +0 -52
- package/agent-assets/docs/features/routines/monthly-review.md +0 -65
- package/agent-assets/skills/management-task-modify/SKILL.md +0 -203
- package/agent-assets/skills/management-task-register/SKILL.md +0 -330
- package/agent-assets/skills/management-task-stop/SKILL.md +0 -166
- package/agent-assets/skills/receipts/SKILL.md +0 -134
- package/agent-assets/skills/travel/SKILL.md +0 -132
- package/agent-assets/skills/travel-time/SKILL.md +0 -158
- package/agent-assets/task-flows/routine.morning_routine.md +0 -322
- package/agent-assets/task-flows/routine.morning_routine_initial.md +0 -204
- package/agent-assets/templates/context-index.md +0 -42
- package/agent-assets/templates/rules/_index.md +0 -19
- package/agent-assets/templates/rules/journal-format.md +0 -61
- package/agent-assets/templates/user/expertise.md +0 -7
- package/agent-assets/templates/user/goals.md +0 -7
- package/agent-assets/templates/user/people.md +0 -7
- package/agent-assets/templates/user/personal.md +0 -7
- package/agent-assets/templates/user/work.md +0 -7
- /package/agent-assets/templates/{agent/journal.md → journal/agent.md} +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/evening.md +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/hourly.md +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/monthly.md +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/morning.md +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/roadmap.md +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/weekly.md +0 -0
- /package/agent-assets/templates/{projects → plans/projects}/_index.md +0 -0
- /package/agent-assets/templates/{roadmap.md → plans/roadmap.md} +0 -0
- /package/agent-assets/templates/{routines → policies/routines}/morning.md +0 -0
- /package/agent-assets/templates/{routines → policies/routines}/weekly.md +0 -0
- /package/agent-assets/templates/{agent → state}/profile-questions.md +0 -0
- /package/agent-assets/templates/{today.md → state/today.md} +0 -0
|
@@ -9,73 +9,126 @@ aliases:
|
|
|
9
9
|
- retro
|
|
10
10
|
category: features
|
|
11
11
|
summary: |
|
|
12
|
-
The evening review fires once per day at 18:00 local time. It
|
|
13
|
-
the day
|
|
14
|
-
|
|
12
|
+
The evening review fires once per day at 18:00 local time. It closes out
|
|
13
|
+
the day by finalizing today.md's Handoff, doing light roadmap maintenance,
|
|
14
|
+
and folding the day's profile signals into your identity files. It rolls
|
|
15
|
+
up unfinished items so tomorrow's morning routine can re-pick them up.
|
|
15
16
|
section: routines
|
|
16
17
|
tags:
|
|
17
|
-
-
|
|
18
|
+
- routines
|
|
18
19
|
- autonomous
|
|
19
20
|
- daily
|
|
20
|
-
-
|
|
21
|
+
- core
|
|
21
22
|
status: stable
|
|
22
23
|
ask_examples:
|
|
23
24
|
- When does the evening review run?
|
|
24
25
|
- What does the evening review write?
|
|
25
|
-
- How do I
|
|
26
|
+
- How do I add my own evening checks?
|
|
27
|
+
- How do I disable the evening review?
|
|
26
28
|
locale: en-US
|
|
27
29
|
created: 2026-04-25
|
|
28
|
-
updated: 2026-
|
|
30
|
+
updated: 2026-05-28
|
|
29
31
|
keywords:
|
|
30
32
|
- evening review
|
|
31
33
|
- retro
|
|
32
34
|
- end of day
|
|
35
|
+
- handoff
|
|
36
|
+
- carry-over
|
|
33
37
|
related:
|
|
34
38
|
- concepts/routines
|
|
35
39
|
- features/memory-files/agent-journal
|
|
40
|
+
- features/memory-files/today
|
|
36
41
|
- features/routines/morning-routine
|
|
42
|
+
- features/routines/custom-routines
|
|
37
43
|
process_keys:
|
|
38
44
|
- routine.evening_review
|
|
45
|
+
context_files:
|
|
46
|
+
- state/today.md
|
|
47
|
+
- plans/roadmap.md
|
|
48
|
+
- journal/agent.md
|
|
49
|
+
- identity/profile.md
|
|
50
|
+
- policies/routines/evening.md
|
|
51
|
+
ui_anchors:
|
|
52
|
+
- /connections/journal
|
|
53
|
+
- /settings/routines
|
|
39
54
|
---
|
|
40
55
|
|
|
41
56
|
# Evening Review
|
|
42
57
|
|
|
43
58
|
## In One Sentence
|
|
44
59
|
|
|
45
|
-
A
|
|
46
|
-
the day
|
|
60
|
+
A medium-tier autonomous routine that fires daily at 18:00 local time to
|
|
61
|
+
close out the day: it finalizes the carry-over plan in `state/today.md`,
|
|
62
|
+
does light roadmap maintenance, and folds the day's profile signals into
|
|
63
|
+
your identity files.
|
|
47
64
|
|
|
48
65
|
## What It Does
|
|
49
66
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
67
|
+
The routine runs three internal bookkeeping steps. These are quiet by
|
|
68
|
+
design — they prepare state that **tomorrow's morning routine depends on**
|
|
69
|
+
rather than producing a chatty end-of-day report.
|
|
70
|
+
|
|
71
|
+
1. **Finalize `state/today.md`.** Marks incomplete User Tasks, then fills
|
|
72
|
+
the `## Handoff` section: unfinished items roll into **Tomorrow** (with
|
|
73
|
+
a reason and suggested priority) so the morning routine re-picks them up;
|
|
74
|
+
longer-horizon items go to **Later**.
|
|
75
|
+
2. **Light roadmap maintenance.** Promotes resolved Long-term Plans into the
|
|
76
|
+
Agent Action Plan and fires any plans whose review date has arrived,
|
|
77
|
+
editing only `## Long-term Plans` and `## Agent Action Plan` in
|
|
78
|
+
`plans/roadmap.md`. (The purely mechanical roadmap sweeps run 15 minutes
|
|
79
|
+
earlier as a separate daemon job, not here.)
|
|
80
|
+
3. **Process profile signals.** Reads the day's Raw Signals from your
|
|
81
|
+
profile and routes each into `character`, Learned Context, or a
|
|
82
|
+
detailed identity file under `identity/`, then prunes stale entries.
|
|
54
83
|
|
|
55
84
|
## When It Runs / How It Is Triggered
|
|
56
85
|
|
|
57
86
|
Every day at **18:00 local time**, exactly once. The cron expression
|
|
58
|
-
is fixed in `packages/daemon/src/core/scheduler.ts
|
|
59
|
-
operator-configurable.
|
|
87
|
+
(`0 18 * * *`) is fixed in `packages/daemon/src/core/scheduler.ts`; the
|
|
88
|
+
fire time is not operator-configurable. Like every autonomous cron, the
|
|
89
|
+
run is skipped while the agent is paused (`!stop`) or setup is incomplete.
|
|
60
90
|
|
|
61
91
|
## What It Outputs
|
|
62
92
|
|
|
63
|
-
- An `
|
|
64
|
-
-
|
|
93
|
+
- An updated `## Handoff` section in `state/today.md`.
|
|
94
|
+
- Roadmap edits in `plans/roadmap.md` when a plan was promoted or fired.
|
|
95
|
+
- A `journal/agent.md` line **only** when a roadmap review date fired or a
|
|
96
|
+
validation error needs recording.
|
|
97
|
+
|
|
98
|
+
The built-in steps emit **no user-facing DM by default** — there is no
|
|
99
|
+
"today wraps up here" message. (The one exception: any check you add to
|
|
100
|
+
`policies/routines/evening.md` is authoritative and runs as written,
|
|
101
|
+
including steps that call `POST /api/notify`.)
|
|
65
102
|
|
|
66
103
|
## Where in the Dashboard
|
|
67
104
|
|
|
68
|
-
- **Connections → Journal** shows
|
|
105
|
+
- **Connections → Journal** (`/connections/journal`) shows `journal/agent.md`
|
|
106
|
+
entries when the roadmap step logged one.
|
|
107
|
+
- **Settings → Routines** (`/settings/routines`) is where you manage the
|
|
108
|
+
evening rulebook.
|
|
69
109
|
|
|
70
110
|
## Configuration
|
|
71
111
|
|
|
72
|
-
|
|
73
|
-
|
|
112
|
+
The fire time and tier are fixed in code, but the routine is not a black box:
|
|
113
|
+
- **Add your own evening checks.** Append `### <label>` entries to
|
|
114
|
+
`policies/routines/evening.md` (via the dashboard, or the
|
|
115
|
+
[custom routines guide](../../guides/add-a-custom-routine.md)). They run
|
|
116
|
+
alongside the built-in steps using the same journaling conventions and
|
|
117
|
+
may notify you explicitly.
|
|
118
|
+
- **Verify it stays healthy.** `aitne verify evening-review-slimdown`
|
|
119
|
+
checks that recent `routine.evening_review` sessions ran inside their
|
|
120
|
+
seeded token envelope (read-only; `--days N` widens the window).
|
|
74
121
|
|
|
75
122
|
## When Something Goes Wrong
|
|
76
123
|
|
|
77
|
-
-
|
|
124
|
+
- **The Handoff or journal stops updating:** the routine may be hitting a
|
|
125
|
+
quota wall — see [Quota Exhausted](../../troubleshooting/quota-exhausted.md)
|
|
126
|
+
or [Auth Failed](../../troubleshooting/auth-failed.md).
|
|
127
|
+
- **It never fires at all:** confirm the agent is not paused (`!start`) and
|
|
128
|
+
that setup is complete.
|
|
78
129
|
|
|
79
130
|
## Related
|
|
80
131
|
|
|
81
|
-
- [
|
|
132
|
+
- [today.md](../memory-files/today.md) — where the Handoff lives.
|
|
133
|
+
- [agent journal](../memory-files/agent-journal.md) — `journal/agent.md`.
|
|
134
|
+
- [morning routine](morning-routine.md) — consumes the Handoff next day.
|
|
@@ -6,80 +6,200 @@ id: hourly-check
|
|
|
6
6
|
aliases:
|
|
7
7
|
- hourly
|
|
8
8
|
- observation consumer
|
|
9
|
+
- hourly check gate
|
|
9
10
|
category: features
|
|
10
11
|
summary: |
|
|
11
|
-
A
|
|
12
|
-
|
|
12
|
+
A medium-tier routine that fires every hour during active hours,
|
|
13
|
+
drains the pending observations queue, and decides whether the
|
|
14
|
+
accumulated change pattern warrants surfacing. Runs through a
|
|
15
|
+
four-layer gate that keeps quiet days quiet.
|
|
13
16
|
section: routines
|
|
14
17
|
tags:
|
|
15
|
-
-
|
|
18
|
+
- routines
|
|
16
19
|
- autonomous
|
|
17
|
-
-
|
|
20
|
+
- observations
|
|
21
|
+
- polling
|
|
22
|
+
- hourly-check
|
|
18
23
|
status: stable
|
|
24
|
+
ui_anchors:
|
|
25
|
+
- /settings/routines
|
|
26
|
+
- /settings/schedule
|
|
27
|
+
- /activity?tab=system
|
|
19
28
|
ask_examples:
|
|
20
29
|
- What does the hourly check do?
|
|
21
30
|
- When does it run?
|
|
22
|
-
- How
|
|
31
|
+
- How does the hourly check decide whether to escalate?
|
|
32
|
+
- What is the harvest pre-pass?
|
|
33
|
+
- How do I tune the gate's freshness window?
|
|
23
34
|
locale: en-US
|
|
24
35
|
created: 2026-04-25
|
|
25
|
-
updated: 2026-
|
|
36
|
+
updated: 2026-05-28
|
|
26
37
|
keywords:
|
|
27
38
|
- hourly
|
|
28
39
|
- observations
|
|
29
40
|
- polling
|
|
41
|
+
- hourly check
|
|
42
|
+
- gate
|
|
43
|
+
- layer 1
|
|
44
|
+
- layer 2
|
|
45
|
+
- layer 3
|
|
46
|
+
- harvestForGate
|
|
47
|
+
- decideStage
|
|
48
|
+
- pre-pass
|
|
30
49
|
related:
|
|
31
50
|
- concepts/observations
|
|
32
51
|
- concepts/routines
|
|
52
|
+
- concepts/delegated-mode
|
|
53
|
+
- features/integrations/browser-history
|
|
33
54
|
process_keys:
|
|
34
55
|
- routine.hourly_check
|
|
56
|
+
- routine.hourly_check.triage
|
|
57
|
+
- routine.fetch_window
|
|
35
58
|
config_keys:
|
|
36
59
|
- hourlyCheckEnabled
|
|
37
60
|
- hourlyCheckIntervalMinutes
|
|
38
61
|
- hourlyCheckActiveStartHour
|
|
39
62
|
- hourlyCheckActiveEndHour
|
|
40
63
|
- hourlyCheckMinObservations
|
|
64
|
+
- hourlyCheckStage2Enabled
|
|
65
|
+
- hourlyCheckHeartbeatHours
|
|
66
|
+
- hourlyCheckLowSignalPendingCeiling
|
|
67
|
+
- hourlyCheckPrePassFreshnessMinutes
|
|
41
68
|
---
|
|
42
69
|
|
|
43
70
|
# Hourly Check
|
|
44
71
|
|
|
45
|
-
|
|
72
|
+
A medium-tier routine that drains the observations queue every hour
|
|
73
|
+
during active hours and decides whether the accumulated change
|
|
74
|
+
pattern warrants notifying you or appending to `state/today.md`. The
|
|
75
|
+
"decide" step is a four-layer gate designed to keep quiet days quiet
|
|
76
|
+
without missing the moment when something piles up.
|
|
46
77
|
|
|
47
|
-
|
|
48
|
-
whether the accumulated changes warrant a notification.
|
|
78
|
+
## When It Runs
|
|
49
79
|
|
|
50
|
-
|
|
80
|
+
Every `hourlyCheckIntervalMinutes` (default 60), inside the active
|
|
81
|
+
window `[hourlyCheckActiveStartHour, hourlyCheckActiveEndHour)`. The
|
|
82
|
+
trigger:
|
|
51
83
|
|
|
52
|
-
-
|
|
53
|
-
|
|
54
|
-
-
|
|
84
|
+
- **Skips** when the morning routine has not yet run today
|
|
85
|
+
(recoverable — the dispatcher enqueues a `queueMorningRoutineWake`
|
|
86
|
+
self-recovery and the hourly check resumes after the morning
|
|
87
|
+
routine succeeds).
|
|
88
|
+
- **Skips** when another hourly check is in flight (atomic flag).
|
|
89
|
+
- **Skips** when accumulated signal is below
|
|
90
|
+
`hourlyCheckMinObservations` and the heartbeat window
|
|
91
|
+
(`hourlyCheckHeartbeatHours`) hasn't elapsed.
|
|
55
92
|
|
|
56
|
-
|
|
93
|
+
Every tick writes one `agent_actions` row with
|
|
94
|
+
`action_type = 'hourly_check.gate'` so the gate's decisions are
|
|
95
|
+
auditable from `aitne audit` and the dashboard activity feed.
|
|
57
96
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
97
|
+
## The Four-Layer Gate
|
|
98
|
+
|
|
99
|
+
The gate replaced the pre-Phase-9 "30-minute rate-limit" gate. It
|
|
100
|
+
runs on every cron tick; only Layer 4 actually spawns a medium-tier
|
|
101
|
+
agent session.
|
|
102
|
+
|
|
103
|
+
### Layer 1 — Harvest pre-pass
|
|
104
|
+
|
|
105
|
+
`HourlyCheckCoordinator.harvestForGate` spawns a lite-tier
|
|
106
|
+
`routine.fetch_window` session for each delegated / native
|
|
107
|
+
integration whose `runtime_state.pre_pass_last_run:<key>` is older
|
|
108
|
+
than `hourlyCheckPrePassFreshnessMinutes`. The pre-pass fetches the
|
|
109
|
+
integration's hourly window (mail / calendar / Notion) and POSTs the
|
|
110
|
+
results to `/api/observations`, so the rest of the gate sees a
|
|
111
|
+
populated queue instead of stale data.
|
|
112
|
+
|
|
113
|
+
Telemetry: `agent_actions.detail.harvest_ran` /
|
|
114
|
+
`harvest_integrations` / `harvest_failed_integrations`.
|
|
115
|
+
|
|
116
|
+
### Layer 2 — Signal compute
|
|
117
|
+
|
|
118
|
+
`computeHourlyCheckSignals` reads the observation table mode-blind —
|
|
119
|
+
it filters by source-prefix sets derived from
|
|
120
|
+
`INTEGRATION_DESCRIPTORS`, never by `actor`. Signal categories
|
|
121
|
+
include unread-mail / event-change / repo-change / browser-history
|
|
122
|
+
clusters; each category produces a (count, last-seen, summary)
|
|
123
|
+
tuple. The pre-pass freshness gate from Layer 1 is what guarantees
|
|
124
|
+
those counts reflect "now", not "an hour ago".
|
|
125
|
+
|
|
126
|
+
### Layer 3 — Decide stage
|
|
127
|
+
|
|
128
|
+
`decideStage` is a pure function over the signal snapshot plus the
|
|
129
|
+
per-tick config (heartbeat status, `hourlyCheckStage2Enabled`,
|
|
130
|
+
`hourlyCheckLowSignalPendingCeiling`). It returns one of three stages
|
|
131
|
+
— `stage0_silent`, `stage2`, or `stage3`:
|
|
132
|
+
|
|
133
|
+
| Stage | What happens |
|
|
134
|
+
|---|---|
|
|
135
|
+
| `stage0_silent` | No agent session. Consume the pending observations and append a single best-effort line to `state/today.md`'s `## Agent Log`. This is the verdict for both "no signals" and "low signal under the ceiling". |
|
|
136
|
+
| `stage2` | Only reachable when `hourlyCheckStage2Enabled = true` (default `false`, so low-signal ticks fall through to `stage3`). Runs a lite-tier `routine.hourly_check.triage` call whose strict JSON output decides `log_only` (→ silent path) vs. `escalate` (→ `stage3`). |
|
|
137
|
+
| `stage3` | Spawn the full medium-tier `routine.hourly_check` session — the visible agent run. Reached directly on high-novelty signals (VIP mail, calendar conflict, overdue agent plan, approaching schedule) or as the cautious default when Stage 2 is off. |
|
|
138
|
+
|
|
139
|
+
When a Layer 1 pre-pass fails (`harvest.failed`), the gate
|
|
140
|
+
short-circuits to a cautious `stage3` with reason
|
|
141
|
+
`cautious_escalate_prepass_failure` and tags the audit row
|
|
142
|
+
`agent_actions.detail.cautious_escalate = true` — a failed fetch
|
|
143
|
+
should never silently swallow a tick's worth of signals.
|
|
144
|
+
|
|
145
|
+
### Layer 4 — Dispatch
|
|
146
|
+
|
|
147
|
+
When Layer 3 returns `stage0_silent` (or Stage 2 returns
|
|
148
|
+
`log_only`), the daemon runs `runSilentHourlyCheckPath` — a
|
|
149
|
+
daemon-direct write, no agent. When it returns `stage3` (or Stage 2
|
|
150
|
+
returns `escalate`), `enqueueStage3HourlyCheck` puts a
|
|
151
|
+
`routine.hourly_check` event on the bus, which becomes the visible
|
|
152
|
+
agent session.
|
|
62
153
|
|
|
63
154
|
## What It Outputs
|
|
64
155
|
|
|
65
|
-
-
|
|
66
|
-
|
|
156
|
+
- A best-effort line in `state/today.md`'s `## Agent Log` — even the
|
|
157
|
+
silent path appends one (skipped only if `today.md` is missing or
|
|
158
|
+
the write lock is held; the observations are still consumed either
|
|
159
|
+
way).
|
|
160
|
+
- Notifications when warranted (only on a `stage3` agent session).
|
|
161
|
+
- An audit row on every tick:
|
|
162
|
+
`agent_actions.action_type = 'hourly_check.gate'`, carrying the
|
|
163
|
+
harvest + signal + stage detail.
|
|
67
164
|
|
|
68
165
|
## Configuration
|
|
69
166
|
|
|
70
|
-
| Setting | Default |
|
|
71
|
-
|
|
72
|
-
| `hourlyCheckEnabled` | true |
|
|
73
|
-
| `hourlyCheckIntervalMinutes` | 60 |
|
|
74
|
-
| `hourlyCheckActiveStartHour` | 4 |
|
|
75
|
-
| `hourlyCheckActiveEndHour` | 24
|
|
76
|
-
| `hourlyCheckMinObservations` | 1 |
|
|
167
|
+
| Setting | Default | Layer | Notes |
|
|
168
|
+
|---|---|---|---|
|
|
169
|
+
| `hourlyCheckEnabled` | `true` | trigger | Master kill switch. |
|
|
170
|
+
| `hourlyCheckIntervalMinutes` | `60` | trigger | Cron cadence. |
|
|
171
|
+
| `hourlyCheckActiveStartHour` | `4` | trigger | Active window start. |
|
|
172
|
+
| `hourlyCheckActiveEndHour` | `24` | trigger | End-exclusive; `24` ≡ midnight. |
|
|
173
|
+
| `hourlyCheckMinObservations` | `1` | trigger | Minimum pending observations before a non-silent stage dispatches; below this the tick records a `below_threshold` skip. |
|
|
174
|
+
| `hourlyCheckPrePassFreshnessMinutes` | `30` | Layer 1 | Range `0`–`240`. Skip a per-integration fetch if its pre-pass ran more recently; `0` fetches every tick, `240` is cost-minimal. |
|
|
175
|
+
| `hourlyCheckStage2Enabled` | `false` | Layer 3 | Adds the lite-tier triage call; while `false`, low-signal ticks route straight to `stage3`. |
|
|
176
|
+
| `hourlyCheckHeartbeatHours` | `4` | Layer 3 | Range `1`–`48`. Force a non-silent stage at least this often, even on a quiet day. |
|
|
177
|
+
| `hourlyCheckLowSignalPendingCeiling` | `0` | Layer 3 | Range `0`–`20`. At or below this pending count, a low-signal tick stays silent. `0` keeps the cautious default (any pending observation escalates). |
|
|
178
|
+
|
|
179
|
+
(`hourlyCheckGateMode` was removed in HOURLY_CHECK_GATE_REDESIGN_PLAN
|
|
180
|
+
Phase 4 — the gate has a single execution path now.)
|
|
77
181
|
|
|
78
182
|
## When Something Goes Wrong
|
|
79
183
|
|
|
80
|
-
- Skipped
|
|
81
|
-
|
|
184
|
+
- **Skipped because the morning routine hasn't run.** The
|
|
185
|
+
dispatcher's `morningRoutineRanToday` gate keys on
|
|
186
|
+
`agent_actions.result = 'success'`. The skip reason is
|
|
187
|
+
`morning_routine_pending_for_today` and triggers a
|
|
188
|
+
`queueMorningRoutineWake` self-recovery. See
|
|
189
|
+
[Morning Routine Didn't Run](../../troubleshooting/morning-routine-didnt-run.md).
|
|
190
|
+
- **Stage 3 never fires on a quiet day.** Expected.
|
|
191
|
+
`hourlyCheckHeartbeatHours` forces a tick occasionally so silence
|
|
192
|
+
doesn't last indefinitely.
|
|
193
|
+
- **Pre-pass keeps failing for one integration.** Read
|
|
194
|
+
`agent_actions.detail.harvest_failed_integrations`; the failing
|
|
195
|
+
integration name is recorded. Usually an auth issue — check
|
|
196
|
+
`/health.integrationModes` and the integration's settings page.
|
|
82
197
|
|
|
83
198
|
## Related
|
|
84
199
|
|
|
85
|
-
- [Observations](../../concepts/observations.md)
|
|
200
|
+
- [Observations](../../concepts/observations.md) — what populates the
|
|
201
|
+
queue Layer 2 reads.
|
|
202
|
+
- [Delegated Mode](../../concepts/delegated-mode.md) — the
|
|
203
|
+
delegated / native integrations that participate in Layer 1's
|
|
204
|
+
harvest.
|
|
205
|
+
- [Routines](../../concepts/routines.md)
|
|
@@ -14,10 +14,9 @@ summary: |
|
|
|
14
14
|
morning hour to produce today.md and the day's plan.
|
|
15
15
|
section: routines
|
|
16
16
|
tags:
|
|
17
|
-
-
|
|
17
|
+
- routines
|
|
18
18
|
- autonomous
|
|
19
19
|
- daily
|
|
20
|
-
- heavy-tier
|
|
21
20
|
- core
|
|
22
21
|
status: stable
|
|
23
22
|
ask_examples:
|
|
@@ -27,12 +26,16 @@ ask_examples:
|
|
|
27
26
|
- What model does morning routine use?
|
|
28
27
|
locale: en-US
|
|
29
28
|
created: 2026-04-25
|
|
30
|
-
updated: 2026-
|
|
29
|
+
updated: 2026-05-28
|
|
31
30
|
keywords:
|
|
32
31
|
- morning
|
|
33
32
|
- day plan
|
|
34
33
|
- 04:00
|
|
35
34
|
- day boundary
|
|
35
|
+
- two-stage pipeline
|
|
36
|
+
- stage A
|
|
37
|
+
- stage B
|
|
38
|
+
- daily journal
|
|
36
39
|
related:
|
|
37
40
|
- concepts/agent-day
|
|
38
41
|
- features/memory-files/today
|
|
@@ -40,15 +43,20 @@ prerequisites:
|
|
|
40
43
|
- concepts/agent-day
|
|
41
44
|
ui_anchors:
|
|
42
45
|
- /settings/routines
|
|
46
|
+
- /settings/models
|
|
47
|
+
- /schedule
|
|
48
|
+
- /activity
|
|
43
49
|
- /
|
|
44
50
|
process_keys:
|
|
45
51
|
- routine.morning_routine
|
|
46
|
-
- routine.
|
|
52
|
+
- routine.morning_routine_today
|
|
53
|
+
- routine.morning_routine_journal
|
|
47
54
|
config_keys:
|
|
48
55
|
- dayBoundaryHour
|
|
49
56
|
context_files:
|
|
50
|
-
- today.md
|
|
51
|
-
- daily/<date>.md
|
|
57
|
+
- state/today.md
|
|
58
|
+
- journal/daily/<date>.md
|
|
59
|
+
- journal/agent.md
|
|
52
60
|
---
|
|
53
61
|
|
|
54
62
|
# Morning Routine
|
|
@@ -56,26 +64,36 @@ context_files:
|
|
|
56
64
|
## In One Sentence
|
|
57
65
|
|
|
58
66
|
Once per agent day, at `dayBoundaryHour` local time, Aitne
|
|
59
|
-
rebuilds `today.md` and the day's schedule from your calendar, mail,
|
|
67
|
+
rebuilds `state/today.md` and the day's schedule from your calendar, mail,
|
|
60
68
|
roadmap, and recent observations.
|
|
61
69
|
|
|
62
70
|
## What It Does
|
|
63
71
|
|
|
64
72
|
The morning routine is the single highest-value process in Aitne.
|
|
65
|
-
It runs
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
73
|
+
It runs as a **two-stage pipeline**, with both stages dispatched in
|
|
74
|
+
parallel:
|
|
75
|
+
|
|
76
|
+
- **Stage A** (`routine.morning_routine_today`, medium tier) rebuilds
|
|
77
|
+
`state/today.md`, walks the roadmap, fans out the day's schedule, and
|
|
78
|
+
self-reports structured metadata.
|
|
79
|
+
- **Stage B** (`routine.morning_routine_journal`, lite tier) authors
|
|
80
|
+
yesterday's daily journal at `journal/daily/<yesterday>.md` from a
|
|
81
|
+
daemon-prepared skeleton, then drops the run's audit-trail paragraph
|
|
82
|
+
into `journal/agent.md`.
|
|
83
|
+
|
|
84
|
+
Every downstream routine for the next 24 hours reads Stage A's output,
|
|
85
|
+
so a bad morning briefing degrades the entire day — hence the
|
|
86
|
+
medium-tier ceiling on Stage A even after the split.
|
|
87
|
+
|
|
88
|
+
Within Stage A, the work proceeds in this order:
|
|
89
|
+
|
|
90
|
+
1. Read the previous day's `state/today.md` and roll forward unfinished items.
|
|
91
|
+
2. Pull today's calendar events from any connected calendar integration.
|
|
92
|
+
3. Scan recent unread mail and surface the few that need owner attention.
|
|
93
|
+
4. Walk the roadmap for items whose **Preparation Timeline** rows fire today.
|
|
94
|
+
5. Consume any pending observations the hourly check has already queued.
|
|
95
|
+
6. Write the rebuilt `state/today.md`.
|
|
96
|
+
7. Log a single status line to the dashboard activity feed.
|
|
79
97
|
|
|
80
98
|
## When It Runs / How It Is Triggered
|
|
81
99
|
|
|
@@ -85,15 +103,21 @@ so a post-midnight install does not run two morning routines back-to-back.
|
|
|
85
103
|
There is no separate `morningRoutineHour` — the morning routine and the
|
|
86
104
|
agent-day rollover are the same instant.
|
|
87
105
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
106
|
+
There is no separate "initial" process key. The first morning after
|
|
107
|
+
setup is detected inline by Stage A from the absence of `state/yesterday.md`;
|
|
108
|
+
the daemon injects a `<roadmap_skeleton>` block carrying the pre-aggregated
|
|
109
|
+
Annual Goals / Quarterly Focus / Preparation Timeline facts so Stage A
|
|
110
|
+
can populate the wizard's placeholder roadmap on medium tier instead of
|
|
111
|
+
paying for a one-shot high-tier session. (The dedicated
|
|
112
|
+
`routine.morning_routine_initial` process key was retired in Phase 4, and
|
|
113
|
+
Phase 7 — 2026-05-16 — removed its high-tier seed entirely.)
|
|
91
114
|
|
|
92
115
|
## What It Outputs
|
|
93
116
|
|
|
94
|
-
- A rebuilt `today.md` with sections for User Schedule, Tasks, Agent Plan, Agent Log, and Handoff.
|
|
95
|
-
-
|
|
96
|
-
- A
|
|
117
|
+
- A rebuilt `state/today.md` with sections for User Schedule, User Tasks, Agent Plan, Agent Log, and Handoff (Stage A).
|
|
118
|
+
- Yesterday's daily journal at `journal/daily/<date>.md` (Stage B).
|
|
119
|
+
- A run audit paragraph appended to `journal/agent.md` (Stage B).
|
|
120
|
+
- A short morning notification when notifications are enabled and quiet hours have ended.
|
|
97
121
|
- An entry in the Activity feed.
|
|
98
122
|
|
|
99
123
|
## Where in the Dashboard
|
|
@@ -107,15 +131,18 @@ during the setup wizard's first day. After the first run, only
|
|
|
107
131
|
| Setting | Default | Notes |
|
|
108
132
|
|---|---|---|
|
|
109
133
|
| `dayBoundaryHour` | `4` | Both the agent-day boundary and the morning-routine fire time. See [Agent Day](../../concepts/agent-day.md). |
|
|
110
|
-
|
|
|
111
|
-
|
|
|
112
|
-
|
|
|
134
|
+
| Stage A tier (`routine.morning_routine_today`) | medium (Sonnet 4.6) | Synthesises `state/today.md` + the day's roadmap fan-out. Adjustable per-row in Settings → Models. |
|
|
135
|
+
| Stage B tier (`routine.morning_routine_journal`) | lite (Haiku 4.5) | Authors `journal/daily/<date>.md` and the `journal/agent.md` audit paragraph. |
|
|
136
|
+
| Stage A max turns / budget | 50 turns / $1.50 | Per-execute envelope for `routine.morning_routine_today`. Adjustable in Settings → Models. |
|
|
137
|
+
| Stage B max turns / budget | 20 turns / $0.30 | Per-execute envelope for `routine.morning_routine_journal`. |
|
|
138
|
+
|
|
139
|
+
The parent `routine.morning_routine` key keeps its own envelope (50 turns / $2.00) for the pipeline entry point. Codex and Gemini backends scale the dollar caps by a per-tier factor (lite ×2.5, medium ×1.5); the router enforces the cap before token costs accumulate.
|
|
113
140
|
|
|
114
141
|
## When Something Goes Wrong
|
|
115
142
|
|
|
116
|
-
- The most common failure is **morning routine did not run** because the daemon was offline at the trigger window. The next launch picks the run up via the catch-up scheduler if it is still the same agent day.
|
|
117
|
-
- A
|
|
118
|
-
-
|
|
143
|
+
- The most common failure is **morning routine did not run** because the daemon was offline at the trigger window. The next launch picks the run up via the boot-time catch-up scheduler if it is still the same agent day (a stale or missing `state/today.md` triggers an inline catch-up run).
|
|
144
|
+
- If Stage A runs but fails to produce a valid `state/today.md`, the daemon schedules retries with exponential back-off (5 → 10 → 15 minutes, max 3 attempts) via the `agent_schedule` path, so the retry survives daemon restarts. After the third failure it sends a single **critical** notification asking you to regenerate from the dashboard, and stops retrying. (Stage B is not re-fired on retry — only Stage A regen fixes `state/today.md`.)
|
|
145
|
+
- Backend quota exhaustion is the second most common cause: a provider rate limit, or — when running on the subscription fallback — the rolling window of the underlying Claude plan. The router surfaces this as a `BackendQuotaError` and automatically retries on the configured fallback backend first; switch the routine's model in Settings → Models or wait for the provider window to refresh.
|
|
119
146
|
|
|
120
147
|
## Related
|
|
121
148
|
|