@aitne-sh/aitne 0.1.8 → 0.1.10

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 (308) hide show
  1. package/README.md +251 -164
  2. package/agent-assets/agent-profiles/_safety.md +3 -3
  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 +2 -2
  6. package/agent-assets/agent-profiles/routine-fetch-window.md +30 -19
  7. package/agent-assets/agents/context-index-reconcile/agent.md +52 -0
  8. package/agent-assets/agents/evening-review/agent.md +53 -0
  9. package/agent-assets/agents/hourly-check/agent.md +62 -0
  10. package/agent-assets/agents/monthly-review/agent.md +55 -0
  11. package/agent-assets/agents/morning-routine/agent.md +78 -0
  12. package/agent-assets/agents/roadmap-maintenance/agent.md +52 -0
  13. package/agent-assets/agents/skill-curation/agent.md +52 -0
  14. package/agent-assets/agents/user-profile-sweep-evening/agent.md +48 -0
  15. package/agent-assets/agents/user-profile-sweep-morning/agent.md +53 -0
  16. package/agent-assets/agents/weekly-review/agent.md +51 -0
  17. package/agent-assets/docs/concepts/agent-day.md +13 -11
  18. package/agent-assets/docs/concepts/auth-health.md +47 -10
  19. package/agent-assets/docs/concepts/backends-and-tiers.md +66 -31
  20. package/agent-assets/docs/concepts/costs-and-quotas.md +51 -15
  21. package/agent-assets/docs/concepts/delegated-mode.md +56 -17
  22. package/agent-assets/docs/concepts/memory-model.md +77 -34
  23. package/agent-assets/docs/concepts/observations.md +49 -11
  24. package/agent-assets/docs/concepts/process-keys.md +56 -22
  25. package/agent-assets/docs/concepts/routines.md +60 -33
  26. package/agent-assets/docs/concepts/safety-and-execution.md +50 -21
  27. package/agent-assets/docs/concepts/safety-model.md +61 -50
  28. package/agent-assets/docs/concepts/skills.md +34 -18
  29. package/agent-assets/docs/features/integrations/browser-history.md +196 -0
  30. package/agent-assets/docs/features/integrations/calendar.md +39 -29
  31. package/agent-assets/docs/features/integrations/git.md +18 -7
  32. package/agent-assets/docs/features/integrations/github.md +84 -33
  33. package/agent-assets/docs/features/integrations/mail.md +61 -17
  34. package/agent-assets/docs/features/integrations/notion.md +18 -6
  35. package/agent-assets/docs/features/integrations/obsidian.md +28 -5
  36. package/agent-assets/docs/features/lifestyle/git.md +44 -40
  37. package/agent-assets/docs/features/lifestyle/reading.md +57 -22
  38. package/agent-assets/docs/features/lifestyle/receipts.md +51 -21
  39. package/agent-assets/docs/features/lifestyle/travel-bookings.md +77 -14
  40. package/agent-assets/docs/features/memory-files/agent-journal.md +132 -53
  41. package/agent-assets/docs/features/memory-files/agent-lessons.md +177 -0
  42. package/agent-assets/docs/features/memory-files/projects.md +73 -17
  43. package/agent-assets/docs/features/memory-files/roadmap.md +54 -11
  44. package/agent-assets/docs/features/memory-files/schedule.md +113 -70
  45. package/agent-assets/docs/features/memory-files/today.md +46 -21
  46. package/agent-assets/docs/features/memory-files/user-profile.md +63 -33
  47. package/agent-assets/docs/features/messaging/bang-commands.md +113 -36
  48. package/agent-assets/docs/features/messaging/dashboard-chat.md +43 -21
  49. package/agent-assets/docs/features/messaging/discord.md +35 -4
  50. package/agent-assets/docs/features/messaging/overview.md +37 -19
  51. package/agent-assets/docs/features/messaging/pairing-and-magic-phrase.md +94 -27
  52. package/agent-assets/docs/features/messaging/slack.md +67 -14
  53. package/agent-assets/docs/features/messaging/telegram.md +22 -8
  54. package/agent-assets/docs/features/messaging/whatsapp.md +71 -17
  55. package/agent-assets/docs/features/operations/activity-and-conversations.md +45 -15
  56. package/agent-assets/docs/features/operations/approvals.md +49 -16
  57. package/agent-assets/docs/features/operations/backend-routing.md +68 -16
  58. package/agent-assets/docs/features/operations/cost-tracking.md +84 -17
  59. package/agent-assets/docs/features/operations/managed-chromium.md +222 -0
  60. package/agent-assets/docs/features/operations/notifications.md +52 -11
  61. package/agent-assets/docs/features/operations/quiet-hours.md +64 -40
  62. package/agent-assets/docs/features/operations/schedule-approaching.md +54 -24
  63. package/agent-assets/docs/features/routines/custom-routines.md +98 -26
  64. package/agent-assets/docs/features/routines/evening-review.md +82 -21
  65. package/agent-assets/docs/features/routines/hourly-check.md +149 -29
  66. package/agent-assets/docs/features/routines/morning-routine.md +54 -35
  67. package/agent-assets/docs/features/routines/weekly-review.md +46 -21
  68. package/agent-assets/docs/features/wiki/commands.md +26 -16
  69. package/agent-assets/docs/features/wiki/cost-and-approval.md +241 -0
  70. package/agent-assets/docs/features/wiki/dashboard.md +256 -0
  71. package/agent-assets/docs/features/wiki/overview.md +70 -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 +34 -23
  75. package/agent-assets/docs/getting-started/02-first-steps.md +17 -10
  76. package/agent-assets/docs/getting-started/03-what-can-this-do.md +25 -14
  77. package/agent-assets/docs/getting-started/04-first-day.md +39 -21
  78. package/agent-assets/docs/glossary.md +235 -24
  79. package/agent-assets/docs/guides/add-a-custom-routine.md +63 -23
  80. package/agent-assets/docs/guides/backup-and-restore.md +80 -16
  81. package/agent-assets/docs/guides/budget-and-cost-for-wiki.md +57 -26
  82. package/agent-assets/docs/guides/build-your-wiki.md +22 -9
  83. package/agent-assets/docs/guides/change-which-model-handles-x.md +64 -10
  84. package/agent-assets/docs/guides/connect-a-new-mail-account.md +66 -15
  85. package/agent-assets/docs/guides/explore-with-trace-and-connect.md +32 -14
  86. package/agent-assets/docs/guides/import-knowledge-file.md +50 -40
  87. package/agent-assets/docs/guides/install-and-run.md +49 -20
  88. package/agent-assets/docs/guides/maintain-wiki-health.md +35 -10
  89. package/agent-assets/docs/guides/migrate-machines.md +74 -18
  90. package/agent-assets/docs/guides/multiple-wikis-for-multiple-domains.md +111 -60
  91. package/agent-assets/docs/guides/pause-the-agent.md +69 -24
  92. package/agent-assets/docs/guides/reinstall-cleanly.md +88 -18
  93. package/agent-assets/docs/guides/setup-wizard.md +116 -54
  94. package/agent-assets/docs/guides/switch-default-backend.md +62 -16
  95. package/agent-assets/docs/guides/use-an-existing-obsidian-vault.md +30 -14
  96. package/agent-assets/docs/reference/api.md +153 -32
  97. package/agent-assets/docs/reference/cli-commands.md +39 -18
  98. package/agent-assets/docs/reference/config.md +241 -49
  99. package/agent-assets/docs/reference/disallowed-tools.md +34 -13
  100. package/agent-assets/docs/reference/keyboard-shortcuts.md +34 -10
  101. package/agent-assets/docs/reference/knowledge-layout.md +629 -0
  102. package/agent-assets/docs/reference/process-keys.md +62 -6
  103. package/agent-assets/docs/reference/skills.md +41 -14
  104. package/agent-assets/docs/troubleshooting/auth-failed.md +51 -21
  105. package/agent-assets/docs/troubleshooting/dashboard-shows-degraded.md +97 -28
  106. package/agent-assets/docs/troubleshooting/fallback-keeps-firing.md +86 -22
  107. package/agent-assets/docs/troubleshooting/messaging-not-pairing.md +68 -24
  108. package/agent-assets/docs/troubleshooting/morning-routine-didnt-run.md +80 -20
  109. package/agent-assets/docs/troubleshooting/observation-not-detected.md +73 -21
  110. package/agent-assets/docs/troubleshooting/quota-exhausted.md +33 -8
  111. package/agent-assets/docs/troubleshooting/wiki-ingest-full-blocked.md +126 -54
  112. package/agent-assets/docs/troubleshooting/wiki-write-failed.md +29 -12
  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 +1 -1
  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 +25 -41
  119. package/agent-assets/skills/agent-create/SKILL.md +158 -0
  120. package/agent-assets/skills/attach/SKILL.md +10 -29
  121. package/agent-assets/skills/browser-history/SKILL.md +211 -0
  122. package/agent-assets/skills/browser-history-respond/SKILL.md +111 -0
  123. package/agent-assets/skills/browser-task/SKILL.md +164 -0
  124. package/agent-assets/skills/context/SKILL.md +35 -44
  125. package/agent-assets/skills/context/curation.json +14 -14
  126. package/agent-assets/skills/context/references/api.md +52 -40
  127. package/agent-assets/skills/context/references/required-frontmatter.md +13 -12
  128. package/agent-assets/skills/context/references/snapshot-files.md +18 -17
  129. package/agent-assets/skills/context/seeds/file-responsibilities.seed.json +8 -8
  130. package/agent-assets/skills/context/seeds/frontmatter-requirements.seed.json +3 -3
  131. package/agent-assets/skills/docs-search/SKILL.md +23 -34
  132. package/agent-assets/skills/external-services/SKILL.delegated.claude.md +17 -114
  133. package/agent-assets/skills/external-services/SKILL.delegated.codex.md +17 -113
  134. package/agent-assets/skills/external-services/SKILL.delegated.gemini.md +17 -113
  135. package/agent-assets/skills/external-services/SKILL.md +3 -3
  136. package/agent-assets/skills/external-services/SKILL.native.claude.md +7 -7
  137. package/agent-assets/skills/external-services/SKILL.native.codex.md +7 -7
  138. package/agent-assets/skills/external-services/SKILL.native.gemini.md +4 -4
  139. package/agent-assets/skills/external-services/references/calendar-apple.md +2 -2
  140. package/agent-assets/skills/external-services/references/calendar-outlook.md +1 -1
  141. package/agent-assets/skills/external-services/references/exec-errors.md +32 -0
  142. package/agent-assets/skills/external-services/references/obsidian.md +2 -2
  143. package/agent-assets/skills/external-services/references/skills-crud.md +5 -5
  144. package/agent-assets/skills/gmail-lifestyle/SKILL.md +11 -83
  145. package/agent-assets/skills/gmail-lifestyle/references/receipts-api.md +4 -0
  146. package/agent-assets/skills/gmail-lifestyle/references/travel-bookings-api.md +9 -0
  147. package/agent-assets/skills/mail/SKILL.delegated.claude.md +15 -18
  148. package/agent-assets/skills/mail/SKILL.delegated.codex.md +11 -6
  149. package/agent-assets/skills/mail/SKILL.delegated.gemini.md +11 -6
  150. package/agent-assets/skills/mail/SKILL.md +10 -18
  151. package/agent-assets/skills/mail/SKILL.native.claude.md +8 -7
  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 +10 -3
  155. package/agent-assets/skills/mail/references/examples.md +2 -1
  156. package/agent-assets/skills/mail/references/providers.md +1 -1
  157. package/agent-assets/skills/managed-tasks/SKILL.md +48 -81
  158. package/agent-assets/skills/managed-tasks/references/errors.md +33 -19
  159. package/agent-assets/skills/managed-tasks/references/output-path.md +33 -17
  160. package/agent-assets/skills/managed-tasks/references/recurrence-rule.md +7 -5
  161. package/agent-assets/skills/management-policy/SKILL.md +42 -42
  162. package/agent-assets/skills/management-policy/curation.json +1 -1
  163. package/agent-assets/skills/management-policy/references/policy-workflow.md +11 -12
  164. package/agent-assets/skills/management-policy/seeds/policy-file-shape.seed.json +1 -1
  165. package/agent-assets/skills/notify/SKILL.md +14 -16
  166. package/agent-assets/skills/notify/references/priority.md +28 -20
  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 +17 -17
  171. package/agent-assets/skills/notion/SKILL.native.claude.md +11 -7
  172. package/agent-assets/skills/notion/SKILL.native.codex.md +10 -5
  173. package/agent-assets/skills/notion/SKILL.native.gemini.md +10 -5
  174. package/agent-assets/skills/observations/SKILL.md +29 -28
  175. package/agent-assets/skills/observations/references/fetch-fallback.md +22 -0
  176. package/agent-assets/skills/project-doc/SKILL.md +10 -7
  177. package/agent-assets/skills/project-doc/curation.json +3 -3
  178. package/agent-assets/skills/project-doc/seeds/project-shape.seed.json +8 -5
  179. package/agent-assets/skills/project-doc/seeds/slug-grammar.seed.json +5 -5
  180. package/agent-assets/skills/reading/SKILL.md +18 -42
  181. package/agent-assets/skills/reading/references/reading-taste.md +7 -7
  182. package/agent-assets/skills/roadmap/SKILL.md +8 -24
  183. package/agent-assets/skills/roadmap/curation.json +1 -1
  184. package/agent-assets/skills/roadmap/references/api.md +21 -11
  185. package/agent-assets/skills/roadmap/references/cross-check.md +15 -8
  186. package/agent-assets/skills/roadmap/references/horizon-tags.md +11 -0
  187. package/agent-assets/skills/roadmap/references/migration.md +12 -10
  188. package/agent-assets/skills/roadmap/references/retention.md +18 -0
  189. package/agent-assets/skills/roadmap/seeds/entry-types.seed.json +1 -1
  190. package/agent-assets/skills/schedule/SKILL.md +41 -50
  191. package/agent-assets/skills/schedule/references/batch.md +2 -2
  192. package/agent-assets/skills/schedule/references/errors.md +7 -4
  193. package/agent-assets/skills/schedule/references/importance.md +23 -0
  194. package/agent-assets/skills/schedule/references/model-selection.md +3 -3
  195. package/agent-assets/skills/schedule/references/recurrence-rule.md +7 -5
  196. package/agent-assets/skills/scheduled-managed-task/SKILL.md +77 -70
  197. package/agent-assets/skills/today/SKILL.md +24 -83
  198. package/agent-assets/skills/today/curation.json +3 -3
  199. package/agent-assets/skills/today/references/agent-plan-lifecycle.md +6 -5
  200. package/agent-assets/skills/today/references/today-skeleton.md +66 -0
  201. package/agent-assets/skills/today/seeds/agent-notes-flavors.seed.json +1 -1
  202. package/agent-assets/skills/today/seeds/section-shape.seed.json +7 -7
  203. package/agent-assets/skills/user-interview/SKILL.md +21 -93
  204. package/agent-assets/skills/user-interview/references/op-briefing.md +3 -3
  205. package/agent-assets/skills/user-interview/references/op-dm-handler.md +88 -0
  206. package/agent-assets/skills/user-interview/references/op-morning.md +1 -1
  207. package/agent-assets/skills/user-interview/references/sweep-and-fallback.md +9 -1
  208. package/agent-assets/skills/user-profile/SKILL.md +29 -39
  209. package/agent-assets/skills/user-profile/curation.json +4 -4
  210. package/agent-assets/skills/user-profile/references/character-preferences.md +3 -3
  211. package/agent-assets/skills/user-profile/seeds/routing-table.seed.json +8 -8
  212. package/agent-assets/skills/user-profile/seeds/topic-files.seed.json +6 -6
  213. package/agent-assets/skills/wiki/wiki-ask/SKILL.md +1 -1
  214. package/agent-assets/skills/wiki/wiki-compile/SKILL.md +9 -8
  215. package/agent-assets/skills/wiki/wiki-connect/SKILL.md +32 -5
  216. package/agent-assets/skills/wiki/wiki-ingest/SKILL.md +6 -50
  217. package/agent-assets/skills/wiki/wiki-ingest/references/curl-errors.md +58 -0
  218. package/agent-assets/skills/wiki/wiki-lint/SKILL.md +20 -14
  219. package/agent-assets/skills/wiki/wiki-trace/SKILL.md +10 -5
  220. package/agent-assets/skills/wiki/wiki-vault-rules/SKILL.md +2 -0
  221. package/agent-assets/system-prompts/routine-fetch-window.md +22 -12
  222. package/agent-assets/task-flows/_partials/calendar-acquire.google_calendar.md +4 -2
  223. package/agent-assets/task-flows/_partials/calendar-acquire.outlook_calendar.md +4 -2
  224. package/agent-assets/task-flows/_partials/capture-user-info.md +2 -2
  225. package/agent-assets/task-flows/_partials/dm-intent.long-horizon.md +1 -1
  226. package/agent-assets/task-flows/_partials/dm-intent.project.md +9 -9
  227. package/agent-assets/task-flows/_partials/feedback-capture.md +30 -0
  228. package/agent-assets/task-flows/_partials/mail-acquire.outlook_mail.md +3 -2
  229. package/agent-assets/task-flows/_partials/notion-acquire.notion.md +10 -5
  230. package/agent-assets/task-flows/browser_task.md +84 -0
  231. package/agent-assets/task-flows/github.assigned.md +1 -1
  232. package/agent-assets/task-flows/github.pull_request.review_requested.md +2 -2
  233. package/agent-assets/task-flows/github.workflow_run.failed.md +2 -2
  234. package/agent-assets/task-flows/knowledge.import.md +14 -14
  235. package/agent-assets/task-flows/message.received.dm.md +13 -4
  236. package/agent-assets/task-flows/message.received.dm_first.md +7 -3
  237. package/agent-assets/task-flows/routine.custom.md +3 -3
  238. package/agent-assets/task-flows/routine.evening_review.md +88 -8
  239. package/agent-assets/task-flows/routine.fetch_window.md +2 -2
  240. package/agent-assets/task-flows/routine.hourly_check.md +16 -12
  241. package/agent-assets/task-flows/routine.monthly_review.md +93 -21
  242. package/agent-assets/task-flows/routine.morning_routine_journal.md +119 -97
  243. package/agent-assets/task-flows/routine.morning_routine_today.md +43 -43
  244. package/agent-assets/task-flows/routine.research_cluster_update.md +35 -0
  245. package/agent-assets/task-flows/routine.research_dispatch.md +38 -0
  246. package/agent-assets/task-flows/routine.research_offer_dm.md +125 -0
  247. package/agent-assets/task-flows/routine.research_wiki_summary.md +53 -0
  248. package/agent-assets/task-flows/routine.roadmap_refresh.md +10 -10
  249. package/agent-assets/task-flows/routine.today_refresh.md +4 -4
  250. package/agent-assets/task-flows/routine.user_profile_sweep.md +10 -10
  251. package/agent-assets/task-flows/routine.weekly_review.md +114 -24
  252. package/agent-assets/task-flows/schedule.approaching.md +0 -1
  253. package/agent-assets/task-flows/scheduled.dm.md +5 -5
  254. package/agent-assets/task-flows/scheduled.task.md +4 -4
  255. package/agent-assets/task-flows/setup.initial.md +21 -21
  256. package/agent-assets/task-flows/setup.update.md +2 -2
  257. package/agent-assets/task-flows/wiki.trace.md +1 -1
  258. package/agent-assets/templates/README.md +27 -20
  259. package/agent-assets/templates/_index.md +42 -26
  260. package/agent-assets/templates/_manifest.json +34 -99
  261. package/agent-assets/templates/{user → identity}/_index.md +1 -1
  262. package/agent-assets/templates/{user → identity}/profile.md +2 -2
  263. package/agent-assets/templates/{dossiers → knowledge/dossiers}/_index.md +1 -1
  264. package/agent-assets/templates/{projects → plans/projects}/_active.base +1 -1
  265. package/agent-assets/templates/policies/_index.md +21 -0
  266. package/agent-assets/templates/{rules → policies}/journal-export.md +1 -1
  267. package/agent-assets/templates/{rules → policies}/journal-format.md +5 -5
  268. package/agent-assets/templates/{rules/policies → policies/management-captures}/_index.md +2 -2
  269. package/agent-assets/templates/{rules → policies}/management.md +3 -3
  270. package/agent-assets/templates/{rules → policies}/mcp.md +1 -1
  271. package/agent-assets/templates/{rules → policies}/redaction.md +1 -1
  272. package/agent-assets/templates/{routines → policies/routines}/_index.md +1 -1
  273. package/agent-assets/templates/{routines → policies/routines}/evening.md +2 -2
  274. package/agent-assets/templates/{routines → policies/routines}/hourly.md +1 -1
  275. package/agent-assets/templates/{routines → policies/routines}/monthly.md +2 -2
  276. package/bin/aitne.mjs +58 -15
  277. package/package.json +5 -4
  278. package/scripts/commands/doctor.mjs +25 -10
  279. package/scripts/commands/run-now.mjs +6 -21
  280. package/scripts/lib/ports.d.mts +27 -0
  281. package/scripts/lib/ports.mjs +36 -0
  282. package/scripts/lib/process-identity.d.mts +46 -0
  283. package/scripts/lib/process-identity.mjs +193 -0
  284. package/scripts/lib/read-api-token.mjs +176 -0
  285. package/scripts/start.mjs +16 -5
  286. package/agent-assets/docs/features/lifestyle/travel-time.md +0 -58
  287. package/agent-assets/skills/gmail-lifestyle/references/travel-time-api.md +0 -59
  288. package/agent-assets/skills/schedule/references/recurring.md +0 -185
  289. package/agent-assets/templates/context-index.md +0 -42
  290. package/agent-assets/templates/rules/_index.md +0 -19
  291. /package/agent-assets/templates/{user → identity}/expertise.md +0 -0
  292. /package/agent-assets/templates/{user → identity}/goals.md +0 -0
  293. /package/agent-assets/templates/{user → identity}/people.md +0 -0
  294. /package/agent-assets/templates/{user → identity}/personal.md +0 -0
  295. /package/agent-assets/templates/{user → identity}/work.md +0 -0
  296. /package/agent-assets/templates/{agent/journal.md → journal/agent.md} +0 -0
  297. /package/agent-assets/templates/{dossiers → knowledge/dossiers}/evening.md +0 -0
  298. /package/agent-assets/templates/{dossiers → knowledge/dossiers}/hourly.md +0 -0
  299. /package/agent-assets/templates/{dossiers → knowledge/dossiers}/monthly.md +0 -0
  300. /package/agent-assets/templates/{dossiers → knowledge/dossiers}/morning.md +0 -0
  301. /package/agent-assets/templates/{dossiers → knowledge/dossiers}/roadmap.md +0 -0
  302. /package/agent-assets/templates/{dossiers → knowledge/dossiers}/weekly.md +0 -0
  303. /package/agent-assets/templates/{projects → plans/projects}/_index.md +0 -0
  304. /package/agent-assets/templates/{roadmap.md → plans/roadmap.md} +0 -0
  305. /package/agent-assets/templates/{routines → policies/routines}/morning.md +0 -0
  306. /package/agent-assets/templates/{routines → policies/routines}/weekly.md +0 -0
  307. /package/agent-assets/templates/{agent → state}/profile-questions.md +0 -0
  308. /package/agent-assets/templates/{today.md → state/today.md} +0 -0
@@ -10,16 +10,18 @@ aliases:
10
10
  category: features
11
11
  summary: |
12
12
  The calendar integration pulls your events into Aitne so the
13
- morning routine, schedule files, and travel-time skill can reason
14
- about your day. The Connections → Calendar page also picks the
15
- backend that handles approaching-event notifications and observed
16
- calendar changes (Calendar Event Model) — that picker only applies
17
- when the integration runs in direct mode.
13
+ morning routine and schedule files can reason about your day.
14
+ The Connections → Calendar page also picks the backend that handles
15
+ observed calendar changes (the Calendar Event Model card, binding
16
+ calendar.change) — that picker only applies when the integration runs
17
+ in direct mode.
18
18
  section: integrations
19
19
  tags:
20
20
  - integrations
21
21
  - calendar
22
22
  - core
23
+ - observations
24
+ - polling
23
25
  status: stable
24
26
  ask_examples:
25
27
  - How do I connect my Google Calendar?
@@ -28,10 +30,10 @@ ask_examples:
28
30
  - What is the Calendar Event Model setting on the Connections page?
29
31
  - Why is the Calendar Event Model card missing when my calendar is delegated?
30
32
  - Will Aitne notice calendar changes while my calendar is delegated?
31
- - Which model handles approaching-event reminders?
33
+ - Which model handles detected calendar changes?
32
34
  locale: en-US
33
35
  created: 2026-04-25
34
- updated: 2026-04-28
36
+ updated: 2026-06-07
35
37
  keywords:
36
38
  - calendar
37
39
  - google calendar
@@ -47,25 +49,28 @@ keywords:
47
49
  related:
48
50
  - features/routines/morning-routine
49
51
  - features/memory-files/schedule
52
+ - features/operations/schedule-approaching
50
53
  - concepts/delegated-mode
51
54
  - concepts/process-keys
52
55
  - concepts/observations
53
56
  ui_anchors:
54
57
  - /connections/calendar
55
58
  api_endpoints:
56
- - /api/calendar
59
+ - /api/calendar/calendars
60
+ - /api/calendar/events
61
+ - /api/calendar/freebusy
57
62
  config_keys:
58
63
  - calendarPollIntervalSeconds
59
64
  process_keys:
60
65
  - calendar.change
66
+ - schedule.approaching
61
67
  ---
62
68
 
63
69
  # Calendar
64
70
 
65
- ## In One Sentence
66
-
67
- Pull events from one or more calendars (Google Calendar today, more
68
- backends planned) so Aitne can plan your day around them.
71
+ Aitne pulls events from one or more calendars (Google Calendar,
72
+ Outlook Calendar, and Apple Calendar) so it can build today's plan
73
+ around them and DM you ahead of meetings that matter.
69
74
 
70
75
  ## What It Does
71
76
 
@@ -73,11 +78,13 @@ backends planned) so Aitne can plan your day around them.
73
78
  - **Records observations** when events change (add / move / remove),
74
79
  consumed by the hourly check.
75
80
  - **Surfaces today's events** to the morning routine so they land in
76
- `today.md` and the day's schedule file.
81
+ `state/today.md` and the day's schedule file.
77
82
  - **Reads** events on demand for reactive turns ("am I free at 3?").
78
83
 
79
- The agent can create events when the operator asks (a `notify`-tier
80
- action). It does not auto-schedule on its own.
84
+ The agent can create, move, or delete events when the operator asks
85
+ (`POST`/`PATCH`/`DELETE /api/calendar/events`, all Autonomous-tier no
86
+ approval prompt). It does not auto-schedule on its own; it acts only on
87
+ an explicit request.
81
88
 
82
89
  ## When It Runs / How It Is Triggered
83
90
 
@@ -99,22 +106,24 @@ action). It does not auto-schedule on its own.
99
106
  ## Calendar Event Model
100
107
 
101
108
  The Calendar Event Model picker chooses the backend and model that
102
- runs when the agent reacts to a calendar event. It binds the
103
- `calendar.change` ProcessKey, which fires from the calendar poller in
104
- three situations:
109
+ runs when the **daemon-side poller detects a calendar change**. It binds
110
+ the `calendar.change` ProcessKey, which fires in two situations:
105
111
 
106
- - An event is about to start (the operator gets an approaching-event
107
- reminder).
108
112
  - An event was added, moved, or deleted between polls (recorded as a
109
113
  change observation; the hourly check picks it up).
110
- - An event was created far in advance (long-horizon events nudge the
111
- roadmap-refresh routine so `roadmap.md` can build a preparation
112
- timeline).
114
+ - An event was created far in advance (long-horizon events more than 14
115
+ days out nudge the roadmap-refresh routine so `plans/roadmap.md` can
116
+ build a preparation timeline).
117
+
118
+ Approaching-event reminders are a separate flow: they fire on the
119
+ `schedule.approaching` ProcessKey, not `calendar.change`, and are not
120
+ configured by this card. See [Schedule Approaching](../operations/schedule-approaching.md).
113
121
 
114
- Light tier is the default and almost always sufficient — these flows
115
- are classification and scheduling, not generation. The default backend
116
- is whichever you picked as your main backend during setup; you can
117
- override per-process here if you want a different mix.
122
+ Light tier (Haiku 4.5 / gpt-5.4-mini) is the default and almost always
123
+ sufficient — these flows are event classification at low cost, not
124
+ generation. The default backend is whichever you picked as your main
125
+ backend during setup; you can override per-process here if you want a
126
+ different mix.
118
127
 
119
128
  The picker is **only meaningful when Google Calendar runs in direct
120
129
  mode.** In delegated mode the daemon hands off all Google Calendar
@@ -157,7 +166,8 @@ rather than an env-style setting; the underlying state lives in the
157
166
  ## Related
158
167
 
159
168
  - [Morning Routine](../routines/morning-routine.md)
160
- - [daily/ files](../memory-files/schedule.md)
169
+ - [Schedule files](../memory-files/schedule.md)
170
+ - [Schedule Approaching](../operations/schedule-approaching.md)
161
171
  - [Delegated Mode](../../concepts/delegated-mode.md)
162
- - [ProcessKeys](../../concepts/process-keys.md)
172
+ - [Process Keys](../../concepts/process-keys.md)
163
173
  - [Observations](../../concepts/observations.md)
@@ -17,19 +17,22 @@ tags:
17
17
  - integrations
18
18
  - git
19
19
  - observations
20
+ - polling
20
21
  status: stable
21
22
  ask_examples:
22
23
  - How do I add a git repo to watch?
23
24
  - Will the agent message me on every commit?
24
25
  - Can the agent push to my repos?
26
+ - How often does the daemon poll my repos?
25
27
  locale: en-US
26
28
  created: 2026-04-25
27
- updated: 2026-04-25
29
+ updated: 2026-05-28
28
30
  keywords:
29
31
  - git
30
32
  - commit
31
33
  - repository
32
34
  - observer
35
+ - polling
33
36
  related:
34
37
  - features/integrations/github
35
38
  - features/routines/hourly-check
@@ -38,12 +41,17 @@ ui_anchors:
38
41
  - /connections/repositories
39
42
  config_keys:
40
43
  - gitPollIntervalSeconds
44
+ process_keys:
45
+ - git.push.detected
46
+ - git.lifecycle.poll
47
+ api_endpoints:
48
+ - /api/git/log
49
+ - /api/git/diff
50
+ - /api/git/show
41
51
  ---
42
52
 
43
53
  # Git
44
54
 
45
- ## In One Sentence
46
-
47
55
  Add local git repositories to a watched set; the daemon polls them
48
56
  and the hourly check decides whether the recent activity is worth
49
57
  flagging.
@@ -72,19 +80,22 @@ by design.
72
80
 
73
81
  ## Where in the Dashboard
74
82
 
75
- - **Connections → Git** lists the watched paths and last-poll times.
83
+ - **Connections → Repositories** lists the watched paths and last-poll
84
+ times. Git repos are managed as part of the unified Repositories
85
+ surface (the same place that links a local checkout to its GitHub
86
+ remote).
76
87
 
77
88
  ## Configuration
78
89
 
79
90
  | Setting | Default | Notes |
80
91
  |---|---|---|
81
- | `gitPollIntervalSeconds` | 300 | How often to scan watched repos. |
92
+ | `gitPollIntervalSeconds` | 3600 | How often to scan watched repos. |
82
93
 
83
94
  ## When Something Goes Wrong
84
95
 
85
96
  - A **missing observation** for a commit you just made: check that the
86
- repo path is actually watched on `/connections/git` and that the
87
- poll has fired since.
97
+ repo path is actually watched on `/connections/repositories` and that
98
+ the poll has fired since (it runs every `gitPollIntervalSeconds`).
88
99
  - A repo that **never appears** in observations: the agent's own
89
100
  writes are filtered out (see `AgentWriteTracker`); make sure the
90
101
  commit was authored by you, not by an agent session.
@@ -7,25 +7,29 @@ aliases:
7
7
  - github integration
8
8
  - github poller
9
9
  - github notifications
10
+ - github delegated mode
10
11
  category: features
11
12
  summary: |
12
13
  GitHub is the remote-side counterpart to the Git integration. The
13
14
  daemon polls notifications and CI failures via the local `gh` CLI;
14
15
  high-priority signals (review requests, default-branch CI failures,
15
- security alerts, assignments) become direct DMs.
16
+ security alerts, assignments) become direct DMs. Watched repos are
17
+ registered as unified Repository rows, not config keys.
16
18
  section: integrations
17
19
  tags:
18
20
  - integrations
19
21
  - github
20
22
  - observations
23
+ - polling
21
24
  status: stable
22
25
  ask_examples:
23
26
  - How do I connect GitHub?
24
27
  - Will the agent message me on every CI failure?
25
28
  - Can the agent reply to GitHub issues?
29
+ - Where do I add a GitHub repo to watch?
26
30
  locale: en-US
27
31
  created: 2026-04-25
28
- updated: 2026-04-28
32
+ updated: 2026-05-28
29
33
  keywords:
30
34
  - github
31
35
  - issue
@@ -33,17 +37,30 @@ keywords:
33
37
  - PR review
34
38
  - workflow run
35
39
  - security alert
40
+ - delegated mode
41
+ - gh cli
42
+ - repositories
36
43
  related:
37
44
  - features/integrations/git
38
45
  - concepts/observations
46
+ - concepts/delegated-mode
39
47
  ui_anchors:
40
48
  - /connections/repositories
49
+ config_keys:
50
+ - githubPollIntervalSeconds
51
+ api_endpoints:
52
+ - PATCH /api/integrations/github
53
+ process_keys:
54
+ - github.pull_request.review_requested
55
+ - github.assigned
56
+ - github.security_alert
57
+ - github.workflow_run.failed
58
+ context_files:
59
+ - state/today.md
41
60
  ---
42
61
 
43
62
  # GitHub
44
63
 
45
- ## In One Sentence
46
-
47
64
  The daemon polls GitHub via the local `gh` CLI: review requests, CI
48
65
  failures on the default branch, security alerts, and assignments
49
66
  become DMs; everything else is recorded for the hourly check.
@@ -51,10 +68,14 @@ become DMs; everything else is recorded for the hourly check.
51
68
  ## What It Does
52
69
 
53
70
  - **Polls Notifications** every `githubPollIntervalSeconds` (default
54
- 600s) using ETag caching — 304s cost no rate-limit quota.
55
- - **Polls workflow_runs** per watched GitHub repository on the same
56
- cadence, filtered by `status=failure`. Watched repos can come from a
57
- local clone's GitHub `origin` or from an explicit `owner/repo` entry.
71
+ 1800s / 30 min) using ETag caching — 304 responses cost no
72
+ rate-limit quota.
73
+ - **Polls workflow_runs** per watched GitHub repository, filtered by
74
+ `status=failure`. Each repo's GitHub side comes from a unified
75
+ **Repository** row (a `owner/repo` remote, optionally paired with a
76
+ local clone — see [Setup](#setup)). Per-repo cadence overrides apply
77
+ to the workflow-runs side; the notifications poll always runs at the
78
+ global cadence.
58
79
  - **DMs the user** on the four high-priority triggers below; quieter
59
80
  signals are coalesced into the hourly check summary.
60
81
 
@@ -73,17 +94,17 @@ depending on your notify-skill settings) on:
73
94
  observation-only — they're the normal developer feedback loop).
74
95
 
75
96
  Each DM follows the notify skill's awareness-gate: if the agent already
76
- sees you triaging it in `today.md`, it stays silent and just logs.
97
+ sees you triaging it in `state/today.md`, it stays silent and just logs.
77
98
 
78
99
  ## Setup
79
100
 
80
101
  1. Install `gh`: `brew install gh` on macOS; see
81
102
  [cli.github.com](https://cli.github.com/) for other platforms.
82
103
  2. Authenticate: `gh auth login` (browser flow).
83
- 3. Add `owner/repo` entries to **Connections → GitHub**, or add local
84
- repository paths to **Connections Git Repositories**. For local
85
- paths, the poller derives `owner/name` from each repo's `origin`
86
- remote — non-GitHub remotes are silently skipped.
104
+ 3. Register the repos to watch on **Connections → Repositories**. Each
105
+ row links an `owner/repo` GitHub remote, an optional local clone, or
106
+ both. If you link only a local clone, the poller derives `owner/name`
107
+ from its `origin` remote — non-GitHub remotes are silently skipped.
87
108
  4. Restart the daemon (the poll interval is captured at start time).
88
109
 
89
110
  The daemon does NOT need a personal access token in its keychain — it
@@ -91,27 +112,39 @@ re-uses whatever `gh` already has.
91
112
 
92
113
  ## Cold-start behavior
93
114
 
94
- The first time the daemon polls a watched repo, it records the latest
95
- failed workflow runs **without emitting any events**. This prevents a
96
- flood of DMs about historical CI failures the user has already triaged.
97
- New failures landing after that warm-up are surfaced normally.
115
+ The first time the daemon polls a watched repo's **workflow runs**, it
116
+ records the latest failures **without emitting any events**. This
117
+ prevents a flood of DMs about historical CI failures you have already
118
+ triaged. New failures landing after that warm-up are surfaced normally.
119
+
120
+ The notifications side needs no warm-up: GitHub returns only unread
121
+ items, so there is no historical backlog to suppress.
98
122
 
99
123
  ## Where in the Dashboard
100
124
 
101
- - **Connections → GitHub** shows status and the `gh auth login`
102
- hint.
103
- - **Connections → GitHub** controls explicit `owner/repo` watched repos.
104
- When this list is non-empty, notification processing is scoped to it.
105
- - **Connections Git Repositories** controls local clone paths whose
106
- GitHub remotes are watched for workflow_run failures.
125
+ Everything lives on **Connections → Repositories**
126
+ (`/connections/repositories`):
127
+
128
+ - The GitHub integration card shows status, the `gh auth login` hint,
129
+ and the integration mode picker (see [Modes](#modes)).
130
+ - Each repository row links an `owner/repo` GitHub remote and/or a
131
+ local clone. When at least one row has a GitHub remote, notification
132
+ processing is scoped to those repos.
133
+ - Per-repo polling cadence, automation triggers, and daily git
134
+ management are configured on **My Life → Git** (`/git`), not here.
107
135
 
108
136
  ## Configuration
109
137
 
110
138
  | Setting | Default | Notes |
111
139
  |---|---|---|
112
- | `githubPollIntervalSeconds` | 600 (10 min) | Both poll cadences. Lower for faster review-request alerts at the cost of slightly more rate-limit budget. **Restart-required.** |
113
- | `gitRepos` | `[]` | Local repo paths to watch. |
114
- | `githubRepos` | `[]` | Direct remote repos in `owner/repo` form. Also scopes notification processing when non-empty. |
140
+ | `githubPollIntervalSeconds` | 1800 (30 min) | Global poll cadence. Lower for faster review-request alerts at the cost of slightly more rate-limit budget. **Restart-required.** |
141
+
142
+ Watched repos are no longer config keys. The old `gitRepos` /
143
+ `githubRepos` settings were removed at the unified-repositories
144
+ cutover — repos now live in the `repositories` table and are managed on
145
+ **Connections → Repositories**. Per-repo polling cadence is set on
146
+ **My Life → Git** and overrides the global interval for that repo's
147
+ workflow-runs poll.
115
148
 
116
149
  ## When Something Goes Wrong
117
150
 
@@ -130,16 +163,34 @@ New failures landing after that warm-up are surfaced normally.
130
163
  poller pre-checks `observations(source, ref)` before every emit. If
131
164
  it does, file a bug with the notification id.
132
165
 
133
- ## Delegated mode (coming soon)
134
-
135
- A future release will let Claude Code, Codex, or Gemini CLI handle
136
- GitHub directly via their native MCP / `gh` integrations, optionally
137
- replacing the daemon-side poller. Most users won't need this the
138
- built-in poller already covers the common surface — but it'll be
139
- useful if you'd rather skip the daemon-side polling entirely.
166
+ ## Modes
167
+
168
+ GitHub supports three integration modes: `direct` (default),
169
+ `delegated`, and `disabled`. Native mode is not offered the
170
+ backend-side connectors are read-only `gh` CLI wrappers that do not
171
+ need a daemon-spawned poller's bookkeeping.
172
+
173
+ - **direct** — the daemon's `GitHubPoller` runs as described above.
174
+ Use this when you want the daemon to own the poll schedule and to
175
+ emit DMs without the main backend having to wake up.
176
+ - **delegated** — the delegated-sync worker invokes the chosen
177
+ backend's read-only `gh` CLI surface on opt-in cadences (see
178
+ [Delegated Mode](../../concepts/delegated-mode.md) and
179
+ `docs/design/appendices/delegated-sync-opt-in.md`). The daemon
180
+ poller stays off; the lite-tier delegated session takes the polling
181
+ cost.
182
+ - **disabled** — neither the poller nor the delegated worker runs;
183
+ the integration is silent.
184
+
185
+ Pick the mode from the GitHub card on **Connections → Repositories**.
186
+ Mode changes go through the standard `PATCH /api/integrations/github`
187
+ flip-lock so the poller and the delegated worker never run
188
+ simultaneously.
140
189
 
141
190
  ## Related
142
191
 
143
192
  - [Git](git.md) — local repo file watcher (separate observer).
144
193
  - [Hourly Check](../routines/hourly-check.md) — the consumer of
145
194
  non-DM-priority observations.
195
+ - [Delegated Mode](../../concepts/delegated-mode.md) — how the
196
+ `delegated` mode polls without a daemon poller.
@@ -27,7 +27,7 @@ ask_examples:
27
27
  - How do I add a second mail account?
28
28
  locale: en-US
29
29
  created: 2026-04-25
30
- updated: 2026-04-25
30
+ updated: 2026-06-07
31
31
  keywords:
32
32
  - mail
33
33
  - gmail
@@ -36,22 +36,35 @@ keywords:
36
36
  - icloud
37
37
  - inbox
38
38
  - labels
39
+ - native mode
40
+ - delegated
41
+ - direct
42
+ - fts5
39
43
  related:
40
44
  - guides/connect-a-new-mail-account
41
45
  - features/routines/morning-routine
46
+ - concepts/delegated-mode
42
47
  ui_anchors:
43
48
  - /connections/mail
44
49
  api_endpoints:
45
50
  - /api/mail
51
+ - /api/mail/accounts
52
+ - /api/mail/search
53
+ config_keys:
54
+ - enabledMailProviders
55
+ - mailPollIntervalSeconds
56
+ - gmailPollIntervalSeconds
57
+ context_files:
58
+ - state/today.md
46
59
  ---
47
60
 
48
61
  # Mail
49
62
 
50
- ## In One Sentence
51
-
52
- Connect one or more mailboxes; the daemon polls them, classifies
53
- incoming threads, and lets the agent read / label / search via the
54
- `mail` skill.
63
+ Connect one or more mailboxes (Gmail, Outlook, Yahoo, iCloud, or any
64
+ IMAP server) and Aitne polls them, classifies incoming threads, and
65
+ lets the agent search / label / read via the `mail` skill. Search is
66
+ local backed by SQLite FTS5 so the agent doesn't need to round-trip
67
+ the provider for every query.
55
68
 
56
69
  ## What It Does
57
70
 
@@ -62,24 +75,53 @@ incoming threads, and lets the agent read / label / search via the
62
75
  - **Surface** the small set of mail items in the morning routine that
63
76
  actually need owner action.
64
77
 
65
- The agent does **not** send mail on your behalf. Drafting is supported
66
- (via the provider's draft API where available) but sending is an
67
- operator action.
78
+ The agent **prefers drafts** over sending. By convention it creates a
79
+ draft (`POST /mail/:account/drafts`) and lets you review and hit send
80
+ yourself. Direct send (`POST /mail/:account/messages/send`) is *not*
81
+ blocked — it is classified as an autonomous action, so the daemon does
82
+ not DM you for approval first. The agent only sends directly when it
83
+ judges you'd clearly want it to, and it tells you afterward; during the
84
+ hourly check the `mail` skill is hard read-only (no sending, drafting,
85
+ labeling, or filing).
68
86
 
69
87
  ## When It Runs / How It Is Triggered
70
88
 
71
- - A poller pulls new messages every `gmailPollIntervalSeconds` (or the
72
- per-provider equivalent) see Settings → Advanced.
89
+ - In `direct` mode a poller pulls new messages on a cadence. Gmail uses
90
+ `gmailPollIntervalSeconds` (default 600); IMAP-backed accounts (Yahoo,
91
+ iCloud, generic IMAP) use `mailPollIntervalSeconds` (default 180).
92
+ Adjust both under **Settings → Advanced**.
73
93
  - The morning routine reads the labeled queue and decides which need
74
94
  surfacing.
75
95
  - Reactive turns (you DM "what's in my mail?") use the `mail` skill on
76
96
  demand.
77
97
 
98
+ ## Integration Modes
99
+
100
+ Mail supports all four integration modes
101
+ (`direct | delegated | native | disabled`); each provider may sit in a
102
+ different mode.
103
+
104
+ | Provider | Direct | Delegated | Native | Notes |
105
+ |---|---|---|---|---|
106
+ | Gmail | ✓ | ✓ | ✓ (descriptor-driven) | Native mode uses Google's official Gmail MCP connector on the main backend; the connector POSTs observations back via `/api/observations`. |
107
+ | Outlook | ✓ | ✓ | ✓ (user-managed) | Native mode requires you to install your own MCP / skill harness on the main backend (`userManagedConnector: true`); the probe synthesises a user-managed result and skips the missing-variant gate. |
108
+ | Yahoo | ✓ | ✓ | — | IMAP transport. No native MCP variant. |
109
+ | iCloud | ✓ | ✓ | — | IMAP transport. No native MCP variant. |
110
+ | Generic IMAP | ✓ | ✓ | — | IMAP transport. No native MCP variant. |
111
+
112
+ Mode flips run through the §14.7 live probe + the per-key
113
+ `runtime_state.integration_flip_lock:<key>`. Changing the main
114
+ backend cascades unmatched `native` rows to `disabled`.
115
+
116
+ See [Delegated Mode](../../concepts/delegated-mode.md) for the full
117
+ mode lifecycle.
118
+
78
119
  ## What It Outputs
79
120
 
80
- - New threads land in the local `messages` table (FTS-indexed).
121
+ - New threads land in the local `mail_messages_index` table
122
+ (FTS-indexed via `fts_mail_messages`).
81
123
  - Classification labels are written via the provider API.
82
- - A short "mail" section in `today.md` when items qualified.
124
+ - A short "mail" section in `state/today.md` when items qualified.
83
125
 
84
126
  ## Where in the Dashboard
85
127
 
@@ -88,10 +130,11 @@ operator action.
88
130
 
89
131
  ## Configuration
90
132
 
91
- Per-account settings: provider kind (`gmail` / `outlook` / `yahoo` /
92
- `icloud`), credential store, label conventions, polling interval.
93
- Yahoo and iCloud use IMAP transport internally; the operator picks
94
- the kind, not the transport.
133
+ Per account you choose a provider kind (`gmail` / `outlook` / `yahoo` /
134
+ `icloud`) plus credentials, label conventions, and polling interval. You
135
+ pick the kind, not the transport Yahoo and iCloud connect over IMAP
136
+ under the hood, but that is an implementation detail. The set of enabled
137
+ providers is `enabledMailProviders` (default `["gmail"]`).
95
138
 
96
139
  ## When Something Goes Wrong
97
140
 
@@ -104,3 +147,4 @@ the kind, not the transport.
104
147
 
105
148
  - [Connect a new mail account](../../guides/connect-a-new-mail-account.md)
106
149
  - [Morning Routine](../routines/morning-routine.md)
150
+ - [Delegated Mode](../../concepts/delegated-mode.md)
@@ -13,36 +13,44 @@ summary: |
13
13
  section: integrations
14
14
  tags:
15
15
  - integrations
16
+ - notion
16
17
  - knowledge
17
18
  - observations
18
19
  status: stable
19
20
  ask_examples:
20
21
  - How do I connect Notion?
21
22
  - Will Notion notify me on every page change?
23
+ - What does Notion native mode do?
22
24
  locale: en-US
23
25
  created: 2026-04-25
24
- updated: 2026-04-25
26
+ updated: 2026-05-28
25
27
  keywords:
26
28
  - notion
27
29
  - page
28
30
  - database
29
31
  - notion observer
30
32
  - notion poller
33
+ - integration modes
31
34
  related:
32
35
  - features/integrations/obsidian
33
36
  - features/routines/hourly-check
37
+ - concepts/delegated-mode
38
+ - concepts/observations
34
39
  ui_anchors:
35
40
  - /connections/knowledge
36
41
  config_keys:
37
42
  - notionPollIntervalSeconds
43
+ api_endpoints:
44
+ - POST /api/integrations/:key/probe
45
+ - POST /api/observations
38
46
  ---
39
47
 
40
48
  # Notion
41
49
 
42
- ## In One Sentence
43
-
44
- A Notion integration polls a configured database / page set and
45
- records observations on change.
50
+ Aitne polls a configured Notion database or page set, records an
51
+ observation on change, and the hourly check decides whether anything
52
+ warrants surfacing. The agent can also read pages on demand through
53
+ the `notion` skill.
46
54
 
47
55
  ## What It Does
48
56
 
@@ -68,7 +76,11 @@ Notion supports all four integration modes (`direct` / `delegated` /
68
76
  - **`native`** — the main backend reaches Notion through its own MCP
69
77
  connector on demand; the daemon does no polling. Observations
70
78
  flow in only when the main backend POSTs them in-turn via
71
- `/api/observations`. Available with Claude (`mcp__notion__*`).
79
+ `POST /api/observations`. Supported when the main backend is
80
+ Claude, Codex, or Gemini (each ships a Notion connector — e.g.
81
+ Claude's is `mcp__claude_ai_Notion__*`). OpenCode hosts no native
82
+ connectors, so selecting it as the main backend cascades Notion to
83
+ `disabled`.
72
84
  - **`disabled`** — silence; no observations, no daemon access.
73
85
 
74
86
  Switching modes requires the integration flip-lock probe to pass