@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.
Files changed (317) hide show
  1. package/README.md +256 -833
  2. package/agent-assets/agent-profiles/_safety.md +52 -20
  3. package/agent-assets/agent-profiles/browser-task.md +108 -0
  4. package/agent-assets/agent-profiles/conversational.md +3 -3
  5. package/agent-assets/agent-profiles/profile-importer.md +3 -3
  6. package/agent-assets/agent-profiles/routine-fetch-window.md +30 -19
  7. package/agent-assets/agent-profiles/routine.md +4 -3
  8. package/agent-assets/agents/context-index-reconcile/agent.md +52 -0
  9. package/agent-assets/agents/evening-review/agent.md +53 -0
  10. package/agent-assets/agents/hourly-check/agent.md +62 -0
  11. package/agent-assets/agents/monthly-review/agent.md +55 -0
  12. package/agent-assets/agents/morning-routine/agent.md +78 -0
  13. package/agent-assets/agents/roadmap-maintenance/agent.md +52 -0
  14. package/agent-assets/agents/skill-curation/agent.md +52 -0
  15. package/agent-assets/agents/user-profile-sweep-evening/agent.md +48 -0
  16. package/agent-assets/agents/user-profile-sweep-morning/agent.md +53 -0
  17. package/agent-assets/agents/weekly-review/agent.md +51 -0
  18. package/agent-assets/docs/concepts/agent-day.md +18 -11
  19. package/agent-assets/docs/concepts/auth-health.md +56 -10
  20. package/agent-assets/docs/concepts/backends-and-tiers.md +110 -41
  21. package/agent-assets/docs/concepts/costs-and-quotas.md +74 -19
  22. package/agent-assets/docs/concepts/delegated-mode.md +193 -75
  23. package/agent-assets/docs/concepts/memory-model.md +79 -34
  24. package/agent-assets/docs/concepts/observations.md +61 -11
  25. package/agent-assets/docs/concepts/process-keys.md +66 -17
  26. package/agent-assets/docs/concepts/routines.md +77 -32
  27. package/agent-assets/docs/concepts/safety-and-execution.md +50 -21
  28. package/agent-assets/docs/concepts/safety-model.md +62 -37
  29. package/agent-assets/docs/concepts/skills.md +38 -17
  30. package/agent-assets/docs/features/integrations/browser-history.md +195 -0
  31. package/agent-assets/docs/features/integrations/calendar.md +40 -30
  32. package/agent-assets/docs/features/integrations/git.md +20 -9
  33. package/agent-assets/docs/features/integrations/github.md +93 -35
  34. package/agent-assets/docs/features/integrations/mail.md +60 -17
  35. package/agent-assets/docs/features/integrations/notion.md +51 -11
  36. package/agent-assets/docs/features/integrations/obsidian.md +35 -7
  37. package/agent-assets/docs/features/lifestyle/git.md +45 -44
  38. package/agent-assets/docs/features/lifestyle/reading.md +50 -22
  39. package/agent-assets/docs/features/lifestyle/receipts.md +66 -21
  40. package/agent-assets/docs/features/lifestyle/travel-bookings.md +91 -14
  41. package/agent-assets/docs/features/memory-files/agent-journal.md +111 -50
  42. package/agent-assets/docs/features/memory-files/projects.md +75 -15
  43. package/agent-assets/docs/features/memory-files/roadmap.md +55 -10
  44. package/agent-assets/docs/features/memory-files/schedule.md +113 -70
  45. package/agent-assets/docs/features/memory-files/today.md +47 -21
  46. package/agent-assets/docs/features/memory-files/user-profile.md +67 -31
  47. package/agent-assets/docs/features/messaging/bang-commands.md +115 -28
  48. package/agent-assets/docs/features/messaging/dashboard-chat.md +43 -21
  49. package/agent-assets/docs/features/messaging/discord.md +46 -4
  50. package/agent-assets/docs/features/messaging/overview.md +40 -19
  51. package/agent-assets/docs/features/messaging/pairing-and-magic-phrase.md +94 -27
  52. package/agent-assets/docs/features/messaging/slack.md +79 -14
  53. package/agent-assets/docs/features/messaging/telegram.md +25 -6
  54. package/agent-assets/docs/features/messaging/whatsapp.md +79 -14
  55. package/agent-assets/docs/features/operations/activity-and-conversations.md +45 -16
  56. package/agent-assets/docs/features/operations/approvals.md +53 -15
  57. package/agent-assets/docs/features/operations/backend-routing.md +75 -16
  58. package/agent-assets/docs/features/operations/cost-tracking.md +90 -17
  59. package/agent-assets/docs/features/operations/managed-chromium.md +221 -0
  60. package/agent-assets/docs/features/operations/notifications.md +58 -11
  61. package/agent-assets/docs/features/operations/quiet-hours.md +63 -40
  62. package/agent-assets/docs/features/operations/schedule-approaching.md +59 -16
  63. package/agent-assets/docs/features/routines/custom-routines.md +97 -23
  64. package/agent-assets/docs/features/routines/evening-review.md +75 -22
  65. package/agent-assets/docs/features/routines/hourly-check.md +150 -30
  66. package/agent-assets/docs/features/routines/morning-routine.md +60 -33
  67. package/agent-assets/docs/features/routines/weekly-review.md +65 -20
  68. package/agent-assets/docs/features/wiki/commands.md +37 -16
  69. package/agent-assets/docs/features/wiki/cost-and-approval.md +240 -0
  70. package/agent-assets/docs/features/wiki/dashboard.md +255 -0
  71. package/agent-assets/docs/features/wiki/overview.md +80 -12
  72. package/agent-assets/docs/features/wiki/search.md +248 -0
  73. package/agent-assets/docs/features/wiki/workspaces.md +254 -0
  74. package/agent-assets/docs/getting-started/01-what-is-this.md +64 -32
  75. package/agent-assets/docs/getting-started/02-first-steps.md +28 -10
  76. package/agent-assets/docs/getting-started/03-what-can-this-do.md +42 -21
  77. package/agent-assets/docs/getting-started/04-first-day.md +52 -20
  78. package/agent-assets/docs/glossary.md +285 -21
  79. package/agent-assets/docs/guides/add-a-custom-routine.md +74 -22
  80. package/agent-assets/docs/guides/backup-and-restore.md +92 -14
  81. package/agent-assets/docs/guides/budget-and-cost-for-wiki.md +62 -25
  82. package/agent-assets/docs/guides/build-your-wiki.md +33 -6
  83. package/agent-assets/docs/guides/change-which-model-handles-x.md +70 -9
  84. package/agent-assets/docs/guides/connect-a-new-mail-account.md +80 -15
  85. package/agent-assets/docs/guides/explore-with-trace-and-connect.md +32 -9
  86. package/agent-assets/docs/guides/import-knowledge-file.md +60 -39
  87. package/agent-assets/docs/guides/install-and-run.md +64 -19
  88. package/agent-assets/docs/guides/maintain-wiki-health.md +41 -10
  89. package/agent-assets/docs/guides/migrate-machines.md +86 -18
  90. package/agent-assets/docs/guides/multiple-wikis-for-multiple-domains.md +119 -59
  91. package/agent-assets/docs/guides/pause-the-agent.md +71 -22
  92. package/agent-assets/docs/guides/reinstall-cleanly.md +102 -17
  93. package/agent-assets/docs/guides/setup-wizard.md +126 -56
  94. package/agent-assets/docs/guides/switch-default-backend.md +72 -17
  95. package/agent-assets/docs/guides/use-an-existing-obsidian-vault.md +31 -10
  96. package/agent-assets/docs/reference/api.md +162 -23
  97. package/agent-assets/docs/reference/cli-commands.md +55 -15
  98. package/agent-assets/docs/reference/config.md +246 -39
  99. package/agent-assets/docs/reference/disallowed-tools.md +42 -10
  100. package/agent-assets/docs/reference/keyboard-shortcuts.md +47 -10
  101. package/agent-assets/docs/reference/knowledge-layout.md +620 -0
  102. package/agent-assets/docs/reference/process-keys.md +126 -20
  103. package/agent-assets/docs/reference/skills.md +62 -18
  104. package/agent-assets/docs/troubleshooting/auth-failed.md +53 -19
  105. package/agent-assets/docs/troubleshooting/dashboard-shows-degraded.md +96 -22
  106. package/agent-assets/docs/troubleshooting/fallback-keeps-firing.md +94 -20
  107. package/agent-assets/docs/troubleshooting/messaging-not-pairing.md +77 -22
  108. package/agent-assets/docs/troubleshooting/morning-routine-didnt-run.md +87 -22
  109. package/agent-assets/docs/troubleshooting/observation-not-detected.md +85 -21
  110. package/agent-assets/docs/troubleshooting/quota-exhausted.md +36 -6
  111. package/agent-assets/docs/troubleshooting/wiki-ingest-full-blocked.md +128 -51
  112. package/agent-assets/docs/troubleshooting/wiki-write-failed.md +33 -11
  113. package/agent-assets/optimizer-skills/drift-analysis/SKILL.md +1 -1
  114. package/agent-assets/optimizer-skills/knowledge-map/SKILL.md +1 -1
  115. package/agent-assets/optimizer-skills/skill-curation/SKILL.md +2 -2
  116. package/agent-assets/sandbox/linux/aitne-chromium.apparmor +91 -0
  117. package/agent-assets/sandbox/macos/aitne-chromium.sb +156 -0
  118. package/agent-assets/skills/agent-actions/SKILL.md +122 -0
  119. package/agent-assets/skills/agent-create/SKILL.md +149 -0
  120. package/agent-assets/skills/attach/SKILL.md +3 -4
  121. package/agent-assets/skills/browser-history/SKILL.md +198 -0
  122. package/agent-assets/skills/browser-history-respond/SKILL.md +106 -0
  123. package/agent-assets/skills/browser-task/SKILL.md +169 -0
  124. package/agent-assets/skills/context/SKILL.md +45 -463
  125. package/agent-assets/skills/context/curation.json +2 -2
  126. package/agent-assets/skills/context/references/api.md +232 -0
  127. package/agent-assets/skills/context/references/required-frontmatter.md +73 -0
  128. package/agent-assets/skills/context/references/snapshot-files.md +103 -0
  129. package/agent-assets/skills/context/seeds/file-responsibilities.seed.json +4 -4
  130. package/agent-assets/skills/docs-search/SKILL.md +17 -16
  131. package/agent-assets/skills/external-services/SKILL.delegated.claude.md +14 -26
  132. package/agent-assets/skills/external-services/SKILL.delegated.codex.md +14 -26
  133. package/agent-assets/skills/external-services/SKILL.delegated.gemini.md +14 -26
  134. package/agent-assets/skills/external-services/SKILL.md +9 -262
  135. package/agent-assets/skills/external-services/SKILL.native.claude.md +6 -7
  136. package/agent-assets/skills/external-services/SKILL.native.codex.md +8 -9
  137. package/agent-assets/skills/external-services/SKILL.native.gemini.md +5 -6
  138. package/agent-assets/skills/external-services/references/calendar-apple.md +97 -0
  139. package/agent-assets/skills/external-services/references/calendar-google.md +72 -0
  140. package/agent-assets/skills/external-services/references/calendar-outlook.md +36 -0
  141. package/agent-assets/skills/external-services/references/github.md +17 -0
  142. package/agent-assets/skills/external-services/references/obsidian.md +49 -0
  143. package/agent-assets/skills/external-services/references/skills-crud.md +27 -0
  144. package/agent-assets/skills/gmail-lifestyle/SKILL.md +151 -0
  145. package/agent-assets/skills/gmail-lifestyle/references/receipts-api.md +93 -0
  146. package/agent-assets/skills/gmail-lifestyle/references/travel-bookings-api.md +75 -0
  147. package/agent-assets/skills/mail/SKILL.delegated.claude.md +15 -6
  148. package/agent-assets/skills/mail/SKILL.delegated.codex.md +9 -5
  149. package/agent-assets/skills/mail/SKILL.delegated.gemini.md +9 -5
  150. package/agent-assets/skills/mail/SKILL.md +9 -114
  151. package/agent-assets/skills/mail/SKILL.native.claude.md +1 -1
  152. package/agent-assets/skills/mail/SKILL.native.codex.md +1 -1
  153. package/agent-assets/skills/mail/SKILL.native.gemini.md +1 -1
  154. package/agent-assets/skills/mail/references/api.md +110 -0
  155. package/agent-assets/skills/mail/references/examples.md +70 -0
  156. package/agent-assets/skills/mail/references/providers.md +8 -8
  157. package/agent-assets/skills/managed-tasks/SKILL.md +472 -0
  158. package/agent-assets/skills/managed-tasks/references/errors.md +73 -0
  159. package/agent-assets/skills/managed-tasks/references/output-path.md +75 -0
  160. package/agent-assets/skills/managed-tasks/references/recurrence-rule.md +86 -0
  161. package/agent-assets/skills/management-policy/SKILL.md +54 -125
  162. package/agent-assets/skills/management-policy/curation.json +1 -1
  163. package/agent-assets/skills/management-policy/references/policy-workflow.md +101 -0
  164. package/agent-assets/skills/management-policy/seeds/policy-file-shape.seed.json +1 -1
  165. package/agent-assets/skills/notify/SKILL.md +10 -82
  166. package/agent-assets/skills/notify/references/priority.md +65 -0
  167. package/agent-assets/skills/notion/SKILL.delegated.claude.md +2 -2
  168. package/agent-assets/skills/notion/SKILL.delegated.codex.md +2 -2
  169. package/agent-assets/skills/notion/SKILL.delegated.gemini.md +2 -2
  170. package/agent-assets/skills/notion/SKILL.md +6 -10
  171. package/agent-assets/skills/notion/SKILL.native.claude.md +11 -8
  172. package/agent-assets/skills/notion/SKILL.native.codex.md +10 -6
  173. package/agent-assets/skills/notion/SKILL.native.gemini.md +10 -6
  174. package/agent-assets/skills/observations/SKILL.md +25 -14
  175. package/agent-assets/skills/project-doc/SKILL.md +2 -6
  176. package/agent-assets/skills/project-doc/curation.json +3 -3
  177. package/agent-assets/skills/project-doc/seeds/project-shape.seed.json +7 -4
  178. package/agent-assets/skills/project-doc/seeds/slug-grammar.seed.json +3 -3
  179. package/agent-assets/skills/reading/SKILL.md +12 -2
  180. package/agent-assets/skills/reading/references/reading-taste.md +2 -2
  181. package/agent-assets/skills/roadmap/SKILL.md +43 -141
  182. package/agent-assets/skills/roadmap/curation.json +1 -1
  183. package/agent-assets/skills/roadmap/references/api.md +100 -0
  184. package/agent-assets/skills/roadmap/references/cross-check.md +80 -0
  185. package/agent-assets/skills/roadmap/references/migration.md +56 -0
  186. package/agent-assets/skills/roadmap/references/preparation-timeline.md +2 -2
  187. package/agent-assets/skills/roadmap/seeds/entry-types.seed.json +1 -1
  188. package/agent-assets/skills/schedule/SKILL.md +76 -104
  189. package/agent-assets/skills/schedule/references/batch.md +93 -0
  190. package/agent-assets/skills/schedule/references/errors.md +217 -0
  191. package/agent-assets/skills/schedule/references/model-selection.md +96 -0
  192. package/agent-assets/skills/schedule/references/recurrence-rule.md +86 -0
  193. package/agent-assets/skills/scheduled-managed-task/SKILL.md +59 -51
  194. package/agent-assets/skills/today/SKILL.md +32 -62
  195. package/agent-assets/skills/today/curation.json +3 -3
  196. package/agent-assets/skills/today/references/agent-plan-lifecycle.md +114 -0
  197. package/agent-assets/skills/today/seeds/section-shape.seed.json +1 -1
  198. package/agent-assets/skills/user-interview/SKILL.md +23 -67
  199. package/agent-assets/skills/user-interview/references/op-briefing.md +51 -0
  200. package/agent-assets/skills/user-interview/references/op-morning.md +59 -0
  201. package/agent-assets/skills/user-interview/references/sweep-and-fallback.md +9 -1
  202. package/agent-assets/skills/user-profile/SKILL.md +54 -74
  203. package/agent-assets/skills/user-profile/curation.json +2 -2
  204. package/agent-assets/skills/user-profile/references/character-preferences.md +83 -0
  205. package/agent-assets/skills/user-profile/seeds/routing-table.seed.json +8 -8
  206. package/agent-assets/skills/user-profile/seeds/topic-files.seed.json +30 -2
  207. package/agent-assets/skills/wiki/wiki-ask/SKILL.md +0 -1
  208. package/agent-assets/skills/wiki/wiki-compile/SKILL.md +4 -5
  209. package/agent-assets/skills/wiki/wiki-connect/SKILL.md +0 -1
  210. package/agent-assets/skills/wiki/wiki-graduate/SKILL.md +0 -1
  211. package/agent-assets/skills/wiki/wiki-ingest/SKILL.md +0 -1
  212. package/agent-assets/skills/wiki/wiki-lint/SKILL.md +0 -1
  213. package/agent-assets/skills/wiki/wiki-trace/SKILL.md +0 -1
  214. package/agent-assets/skills/wiki/wiki-vault-rules/SKILL.md +0 -1
  215. package/agent-assets/system-prompts/routine-fetch-window.md +78 -0
  216. package/agent-assets/system-prompts/skill-index-instruction.md +26 -0
  217. package/agent-assets/task-flows/_partials/calendar-acquire.google_calendar.md +20 -11
  218. package/agent-assets/task-flows/_partials/calendar-acquire.outlook_calendar.md +18 -9
  219. package/agent-assets/task-flows/_partials/capture-user-info.md +24 -0
  220. package/agent-assets/task-flows/_partials/confirm-subflow.md +68 -0
  221. package/agent-assets/task-flows/_partials/dm-intent.long-horizon.md +35 -0
  222. package/agent-assets/task-flows/_partials/dm-intent.project.md +391 -0
  223. package/agent-assets/task-flows/_partials/mail-acquire.gmail.md +20 -11
  224. package/agent-assets/task-flows/_partials/mail-acquire.outlook_mail.md +18 -9
  225. package/agent-assets/task-flows/_partials/notion-acquire.notion.md +26 -15
  226. package/agent-assets/task-flows/browser_task.md +84 -0
  227. package/agent-assets/task-flows/github.assigned.md +1 -1
  228. package/agent-assets/task-flows/github.pull_request.review_requested.md +2 -2
  229. package/agent-assets/task-flows/github.workflow_run.failed.md +2 -2
  230. package/agent-assets/task-flows/knowledge.import.md +15 -15
  231. package/agent-assets/task-flows/message.received.dm.md +20 -17
  232. package/agent-assets/task-flows/message.received.dm_first.md +11 -15
  233. package/agent-assets/task-flows/routine.custom.md +6 -4
  234. package/agent-assets/task-flows/routine.evening_review.md +46 -170
  235. package/agent-assets/task-flows/routine.fetch_window.md +19 -14
  236. package/agent-assets/task-flows/routine.hourly_check.md +27 -15
  237. package/agent-assets/task-flows/routine.hourly_check.triage.md +1 -1
  238. package/agent-assets/task-flows/routine.monthly_review.md +67 -25
  239. package/agent-assets/task-flows/routine.morning_routine_journal.md +135 -0
  240. package/agent-assets/task-flows/routine.morning_routine_today.md +673 -0
  241. package/agent-assets/task-flows/routine.research_cluster_update.md +35 -0
  242. package/agent-assets/task-flows/routine.research_dispatch.md +38 -0
  243. package/agent-assets/task-flows/routine.research_offer_dm.md +125 -0
  244. package/agent-assets/task-flows/routine.research_wiki_summary.md +53 -0
  245. package/agent-assets/task-flows/routine.roadmap_refresh.md +68 -23
  246. package/agent-assets/task-flows/routine.today_refresh.md +4 -4
  247. package/agent-assets/task-flows/routine.user_profile_sweep.md +19 -20
  248. package/agent-assets/task-flows/routine.weekly_review.md +370 -86
  249. package/agent-assets/task-flows/schedule.approaching.md +0 -1
  250. package/agent-assets/task-flows/scheduled.dm.md +13 -13
  251. package/agent-assets/task-flows/scheduled.task.md +9 -9
  252. package/agent-assets/task-flows/setup.initial.md +171 -251
  253. package/agent-assets/task-flows/setup.update.md +2 -2
  254. package/agent-assets/task-flows/wiki.ingest_url.md +1 -1
  255. package/agent-assets/templates/README.md +27 -20
  256. package/agent-assets/templates/_index.md +42 -26
  257. package/agent-assets/templates/_manifest.json +34 -99
  258. package/agent-assets/templates/{user → identity}/_index.md +1 -1
  259. package/agent-assets/templates/identity/expertise.md +9 -0
  260. package/agent-assets/templates/identity/goals.md +9 -0
  261. package/agent-assets/templates/identity/people.md +13 -0
  262. package/agent-assets/templates/identity/personal.md +9 -0
  263. package/agent-assets/templates/{user → identity}/profile.md +2 -2
  264. package/agent-assets/templates/identity/work.md +9 -0
  265. package/agent-assets/templates/{dossiers → knowledge/dossiers}/_index.md +2 -2
  266. package/agent-assets/templates/{projects → plans/projects}/_active.base +1 -1
  267. package/agent-assets/templates/policies/_index.md +21 -0
  268. package/agent-assets/templates/{rules → policies}/journal-export.md +1 -1
  269. package/agent-assets/templates/policies/journal-format.md +168 -0
  270. package/agent-assets/templates/{rules/policies → policies/management-captures}/_index.md +2 -2
  271. package/agent-assets/templates/{rules → policies}/management.md +3 -3
  272. package/agent-assets/templates/{rules → policies}/mcp.md +1 -1
  273. package/agent-assets/templates/{rules → policies}/redaction.md +1 -1
  274. package/agent-assets/templates/{routines → policies/routines}/_index.md +1 -1
  275. package/agent-assets/templates/{routines → policies/routines}/evening.md +2 -2
  276. package/agent-assets/templates/{routines → policies/routines}/hourly.md +1 -1
  277. package/agent-assets/templates/{routines → policies/routines}/monthly.md +2 -2
  278. package/bin/aitne.mjs +21 -5
  279. package/package.json +5 -4
  280. package/scripts/commands/doctor.mjs +63 -5
  281. package/scripts/commands/run-now.mjs +187 -0
  282. package/scripts/commands/verify.mjs +264 -0
  283. package/scripts/lib/ports.d.mts +27 -0
  284. package/scripts/lib/ports.mjs +36 -0
  285. package/scripts/lib/read-api-token.mjs +176 -0
  286. package/scripts/start.mjs +2 -1
  287. package/agent-assets/docs/features/lifestyle/travel-time.md +0 -52
  288. package/agent-assets/docs/features/routines/monthly-review.md +0 -65
  289. package/agent-assets/skills/management-task-modify/SKILL.md +0 -203
  290. package/agent-assets/skills/management-task-register/SKILL.md +0 -330
  291. package/agent-assets/skills/management-task-stop/SKILL.md +0 -166
  292. package/agent-assets/skills/receipts/SKILL.md +0 -134
  293. package/agent-assets/skills/travel/SKILL.md +0 -132
  294. package/agent-assets/skills/travel-time/SKILL.md +0 -158
  295. package/agent-assets/task-flows/routine.morning_routine.md +0 -322
  296. package/agent-assets/task-flows/routine.morning_routine_initial.md +0 -204
  297. package/agent-assets/templates/context-index.md +0 -42
  298. package/agent-assets/templates/rules/_index.md +0 -19
  299. package/agent-assets/templates/rules/journal-format.md +0 -61
  300. package/agent-assets/templates/user/expertise.md +0 -7
  301. package/agent-assets/templates/user/goals.md +0 -7
  302. package/agent-assets/templates/user/people.md +0 -7
  303. package/agent-assets/templates/user/personal.md +0 -7
  304. package/agent-assets/templates/user/work.md +0 -7
  305. /package/agent-assets/templates/{agent/journal.md → journal/agent.md} +0 -0
  306. /package/agent-assets/templates/{dossiers → knowledge/dossiers}/evening.md +0 -0
  307. /package/agent-assets/templates/{dossiers → knowledge/dossiers}/hourly.md +0 -0
  308. /package/agent-assets/templates/{dossiers → knowledge/dossiers}/monthly.md +0 -0
  309. /package/agent-assets/templates/{dossiers → knowledge/dossiers}/morning.md +0 -0
  310. /package/agent-assets/templates/{dossiers → knowledge/dossiers}/roadmap.md +0 -0
  311. /package/agent-assets/templates/{dossiers → knowledge/dossiers}/weekly.md +0 -0
  312. /package/agent-assets/templates/{projects → plans/projects}/_index.md +0 -0
  313. /package/agent-assets/templates/{roadmap.md → plans/roadmap.md} +0 -0
  314. /package/agent-assets/templates/{routines → policies/routines}/morning.md +0 -0
  315. /package/agent-assets/templates/{routines → policies/routines}/weekly.md +0 -0
  316. /package/agent-assets/templates/{agent → state}/profile-questions.md +0 -0
  317. /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 writes
13
- the day's retrospective into the agent journal and rolls up unfinished
14
- items for tomorrow's plan.
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
- - routine
18
+ - routines
18
19
  - autonomous
19
20
  - daily
20
- - light-tier
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 disable it?
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-04-25
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 light-tier routine that fires daily at 18:00 local time and writes
46
- the day's retro into the journal.
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
- - Reads the day's `today.md`, the journal entries, the activity feed.
51
- - Writes a short retrospective into `agent/journal.md`.
52
- - Surfaces uncompleted carry-over items the morning routine should
53
- re-pick-up tomorrow.
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` and is not
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 `agent/journal.md` entry.
64
- - A "today wraps up here" notification (subject to quiet hours).
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 the appended entry.
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
- This routine has no operator-tunable knobs. The fire time and tier
73
- are fixed in code.
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
- - A journal that **stops growing**: see [Auth Failed](../../troubleshooting/auth-failed.md) the routine may be hitting a quota wall.
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
- - [agent/journal.md](../memory-files/agent-journal.md)
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 light-tier routine that fires every hour during active hours and
12
- consumes accumulated observations from the polling integrations.
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
- - routine
18
+ - routines
16
19
  - autonomous
17
- - light-tier
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 do I tune the threshold?
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-04-25
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
- ## In One Sentence
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
- A light-tier routine that empties the observations queue and decides
48
- whether the accumulated changes warrant a notification.
78
+ ## When It Runs
49
79
 
50
- ## What It Does
80
+ Every `hourlyCheckIntervalMinutes` (default 60), inside the active
81
+ window `[hourlyCheckActiveStartHour, hourlyCheckActiveEndHour)`. The
82
+ trigger:
51
83
 
52
- - Reads pending `observations` rows.
53
- - Decides whether the pattern adds up to something worth surfacing.
54
- - Either appends to `today.md` or sends a notification (or both).
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
- ## When It Runs / How It Is Triggered
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
- Every `hourlyCheckIntervalMinutes` (default 60), inside the active
59
- window (`hourlyCheckActiveStartHour` to `hourlyCheckActiveEndHour`).
60
- Skips when the morning routine is in progress; an atomic flag
61
- prevents two hourly checks from running at once.
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
- - Updates to `today.md`.
66
- - Notifications when warranted.
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 (end-exclusive, ≡ midnight) |
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 hourly checks below the min-observations threshold are
81
- expected. The daemon log shows the skip reason.
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
- - routine
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-04-25
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.morning_routine_initial
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 at the **heavy tier** (default Opus 4.7 on Claude, GPT-5.5 on
66
- Codex, Gemini 3 Pro on Gemini) because every downstream routine for
67
- the next 24 hours reads its output. A bad morning briefing degrades
68
- the entire day.
69
-
70
- In sequence, the routine:
71
-
72
- 1. Reads the previous day's `today.md` and rolls forward unfinished items.
73
- 2. Pulls today's calendar events from any connected calendar integration.
74
- 3. Scans recent unread mail and surfaces the few that need owner attention.
75
- 4. Walks the roadmap looking for items whose **Preparation Timeline** rows fire today.
76
- 5. Consumes any pending observations the hourly check has already dropped into the queue.
77
- 6. Writes the rebuilt `today.md` and the per-date snapshot at `daily/YYYY-MM-DD.md`.
78
- 7. Logs a single status line to the dashboard activity feed.
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
- `routine.morning_routine_initial` is a one-shot heavy-tier variant fired
89
- during the setup wizard's first day. After the first run, only
90
- `routine.morning_routine` triggers.
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
- - A per-date `daily/YYYY-MM-DD.md` capturing the day's calendar snapshot.
96
- - A short notification ("Good morning, here's today...") when notifications are enabled and quiet hours have ended.
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
- | Tier (heavy/light) | heavy | Forced heavy by default Sonnet/Flash routines tend to skip critical context. |
111
- | Max turns | 50 (router cap, P95+) | Adjustable per-process in Settings Models. |
112
- | Max budget USD | 5.00 | Per-execute cap. The router enforces this before token costs accumulate. |
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 failed morning routine emits a fallback-success notification when the secondary backend caught the run, or a fallback-failed notification (high priority) when both failed.
118
- - Heavy-tier quota exhaustion is the second most common cause: a provider rate limit on your `ANTHROPIC_API_KEY`, or — when running on the subscription fallback — the rolling Opus window of the underlying Claude plan. Switch the routine's model to a different heavy-tier option in Settings → Models or wait for the provider window to refresh.
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