@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
@@ -7,6 +7,8 @@ aliases:
7
7
  - observation
8
8
  - polling
9
9
  - hourly check
10
+ - observation queue
11
+ - phase 9
10
12
  category: concepts
11
13
  summary: |
12
14
  Observations are change records the polling integrations write into
@@ -17,22 +19,52 @@ tags:
17
19
  - core
18
20
  - observations
19
21
  - polling
22
+ - integrations
23
+ - routines
20
24
  status: stable
21
25
  ask_examples:
22
26
  - What is an observation?
23
27
  - Why doesn't the agent message me on every git commit?
24
28
  - How does the hourly check use observations?
29
+ - Where does the routine pre-pass write observations?
25
30
  locale: en-US
26
31
  created: 2026-04-25
27
- updated: 2026-04-25
32
+ updated: 2026-05-28
28
33
  keywords:
29
34
  - observation
35
+ - observations
30
36
  - polling
31
37
  - hourly check
32
38
  - phase 9
39
+ - routine.fetch_window
40
+ - pre-pass
41
+ - AgentWriteTracker
42
+ - contentHash
43
+ - recordObservation
44
+ - observation queue
45
+ - dedupe
33
46
  related:
34
47
  - features/routines/hourly-check
48
+ - features/routines/morning-routine
35
49
  - concepts/process-keys
50
+ - concepts/routines
51
+ - features/integrations/git
52
+ - features/integrations/obsidian
53
+ ui_anchors:
54
+ - /activity
55
+ process_keys:
56
+ - routine.hourly_check
57
+ - routine.fetch_window
58
+ config_keys:
59
+ - hourlyCheckIntervalMinutes
60
+ - hourlyCheckPrePassFreshnessMinutes
61
+ api_endpoints:
62
+ - POST /api/observations
63
+ - GET /api/observations
64
+ - POST /api/observations/consume
65
+ context_files:
66
+ - packages/daemon/src/core/routine-windows.ts
67
+ - packages/daemon/src/api/routes/observations.ts
36
68
  ---
37
69
 
38
70
  # Observations
@@ -45,13 +77,15 @@ SQLite. A single `routine.hourly_check` consumes the queue and decides
45
77
  what is worth surfacing.
46
78
 
47
79
  Since 2026-05, observations have a **second writer**: every main
48
- routine (morning, today_refresh, hourly_check, evening, weekly) is
49
- preceded by a lite-tier `routine.fetch_window` pre-pass that fetches
50
- mail / calendar / Notion windows and POSTs them to
51
- `/api/observations`. The main routine then reads them via the same
52
- `pending=true` queue that the polling path feeds. Observation rows
53
- look identical regardless of which writer produced them — the
54
- distinction is invisible to downstream consumers.
80
+ routine (`routine.morning_routine`, `routine.today_refresh`,
81
+ `routine.hourly_check`, `routine.evening_review`,
82
+ `routine.weekly_review`) is preceded by a lite-tier
83
+ `routine.fetch_window` pre-pass that fetches mail / calendar / Notion
84
+ windows and POSTs them to `/api/observations`.
85
+ (`routine.monthly_review` has no pre-pass window.) The main routine
86
+ then reads them via the same `pending=true` queue that the polling
87
+ path feeds. Observation rows look identical regardless of which writer
88
+ produced them — the distinction is invisible to downstream consumers.
55
89
 
56
90
  ## Why This Concept Exists
57
91
 
@@ -63,6 +97,18 @@ up to something the operator should hear about.
63
97
 
64
98
  ## Definitions
65
99
 
100
+ **Two writer paths feed one queue.** Observations enter the
101
+ `observations` table from two places, and downstream consumers cannot
102
+ tell them apart:
103
+
104
+ 1. **Background pollers** (Obsidian, Git, GitHub, Notion, Calendar,
105
+ Mail) call `recordObservation` when they detect a change.
106
+ 2. **The pre-pass** — the lite-tier `routine.fetch_window` session
107
+ spawned ahead of each main routine — POSTs mail / calendar / Notion
108
+ windows to `/api/observations`.
109
+
110
+ Both write rows of the same shape; the consumer reads the merged queue.
111
+
66
112
  - **Observation**: one row in the `observations` table.
67
113
  - **Actor**: who caused the change. `actor='agent'` rows are filtered
68
114
  out by the consumer (anti-loop).
@@ -76,9 +122,10 @@ up to something the operator should hear about.
76
122
  session spawned by each main routine's dispatcher. Fetches a
77
123
  per-routine window (`ROUTINE_WINDOWS` in
78
124
  `packages/daemon/src/core/routine-windows.ts`) for each enabled
79
- mail / calendar / Notion integration and POSTs observations. The
80
- server computes `contentHash` from `(source, payload)`, so an
81
- unchanged item written twice in the same cadence dedupes to a 409.
125
+ mail / calendar / Notion integration and POSTs the results to
126
+ `/api/observations`. The server computes `contentHash` from
127
+ `(source, payload)`, so an unchanged item written twice in the same
128
+ cadence dedupes to a 409.
82
129
 
83
130
  ## Concrete Examples
84
131
 
@@ -94,5 +141,8 @@ up to something the operator should hear about.
94
141
  ## Related
95
142
 
96
143
  - [Hourly Check](../features/routines/hourly-check.md)
144
+ - [Morning Routine](../features/routines/morning-routine.md)
145
+ - [Process Keys](./process-keys.md)
146
+ - [Routines](./routines.md)
97
147
  - [Git](../features/integrations/git.md)
98
148
  - [Obsidian](../features/integrations/obsidian.md)
@@ -16,22 +16,54 @@ section: process-keys
16
16
  tags:
17
17
  - core
18
18
  - dispatch
19
+ - backends
20
+ - routing
19
21
  status: stable
20
22
  ask_examples:
21
23
  - What is a ProcessKey?
22
24
  - Where can I see all the ProcessKeys?
23
25
  - How do I change which model handles a ProcessKey?
26
+ - What is the difference between configurable and fixed ProcessKeys?
24
27
  locale: en-US
25
28
  created: 2026-04-25
26
- updated: 2026-04-25
29
+ updated: 2026-05-28
27
30
  keywords:
28
31
  - process key
32
+ - ProcessKey
29
33
  - dispatch
30
34
  - routing
35
+ - tier
36
+ - CONFIGURABLE_PROCESS_KEYS
37
+ - DEFAULT_PROCESS_TIERS
38
+ - REACTIVE_PROCESS_KEYS
39
+ - TIER_LOCKED_PROCESS_KEYS
40
+ - PROCESS_TO_EVENT_TYPE
41
+ - routine.morning_routine
42
+ - message.dm
43
+ - dashboard.chat
31
44
  related:
32
45
  - concepts/backends-and-tiers
33
46
  - concepts/skills
34
47
  - reference/process-keys
48
+ - features/operations/backend-routing
49
+ process_keys:
50
+ - routine.morning_routine
51
+ - routine.morning_routine_today
52
+ - routine.morning_routine_journal
53
+ - routine.evening_review
54
+ - routine.hourly_check
55
+ - routine.fetch_window
56
+ - routine.hourly_check.triage
57
+ - message.dm
58
+ - message.mention
59
+ - dashboard.chat
60
+ - dashboard.docs_qa
61
+ - agent.task
62
+ - agent.dm_task
63
+ - delegated_task
64
+ - delegated_task_heavy
65
+ ui_anchors:
66
+ - /settings/models
35
67
  ---
36
68
 
37
69
  # ProcessKeys
@@ -54,32 +86,49 @@ those subsystems.
54
86
  ## Definitions
55
87
 
56
88
  - **CONFIGURABLE_PROCESS_KEYS**: the set the operator can override per
57
- backend on `/settings/models`.
58
- - **REACTIVE_PROCESS_KEYS**: those tied to in-the-loop events (DMs,
59
- dashboard chat, docs QA).
60
- - **DEFAULT_PROCESS_TIERS**: the per-key default (heavy or light).
89
+ backend on `/settings/models`. The rest (`delegated_task`, `setup`,
90
+ `schedule.approaching`, …) use fixed defaults and are not surfaced
91
+ there.
92
+ - **REACTIVE_PROCESS_KEYS**: those tied to in-the-loop events
93
+ (`message.dm`, `message.mention`, `dashboard.chat`,
94
+ `dashboard.docs_qa`, `setup`, `knowledge.import`). Everything else is
95
+ autonomous.
96
+ - **DEFAULT_PROCESS_TIERS**: the per-key default model size — `lite`
97
+ (Haiku-class), `medium` (Sonnet-class), or `high` (Opus-class).
98
+ Unknown keys (including `routine.custom.<slug>`) default to `medium`.
99
+ - **TIER_LOCKED_PROCESS_KEYS**: keys whose tier is hard-locked and
100
+ cannot be overridden by an operator pin. Today this is just
101
+ `dashboard.docs_qa`, locked to `medium`.
61
102
  - **PROCESS_TO_EVENT_TYPE**: maps a ProcessKey to the skill manifest
62
- key.
103
+ key, so the skills compiler can pick the right tool set.
63
104
 
64
105
  ## Concrete Examples
65
106
 
66
- - Routines: `routine.morning_routine`, `routine.morning_routine_initial`,
107
+ - **Routines:** `routine.morning_routine` is the parent envelope read by
108
+ the pre-routine gate; the actual work runs as two parallel split keys
109
+ — `routine.morning_routine_today` (Stage A, today.md, medium) and
110
+ `routine.morning_routine_journal` (Stage B, daily journal, lite). Also
67
111
  `routine.evening_review`, `routine.weekly_review`,
68
- `routine.monthly_review`, `routine.hourly_check`,
69
- `routine.roadmap_refresh`, `routine.today_refresh`,
70
- `routine.user_profile_sweep`
71
- - Routine sub-jobs (lite tier, dispatcher-spawned, not user-facing):
112
+ `routine.hourly_check`, `routine.roadmap_refresh`,
113
+ `routine.today_refresh`, `routine.user_profile_sweep`.
114
+ `routine.morning_routine_initial` was retired (2026-05-16) — the
115
+ first-run branch now routes through `routine.morning_routine`.
116
+ - **Routine sub-jobs** (lite tier, dispatcher-spawned, not user-facing):
72
117
  `routine.fetch_window` (pre-pass mail/calendar/Notion fetcher that
73
118
  runs before each main routine and POSTs observations) and
74
119
  `routine.hourly_check.triage` (Stage 2 escalate-vs-log-only gate
75
120
  inside the hourly check).
76
- - Custom routines: `routine.custom.<slug>` (kebab-case slug)
77
- - Messaging: `message.dm`, `message.mention`
78
- - Dashboard: `dashboard.chat`, `dashboard.docs_qa`
79
- - Scheduled / external: `agent.task` (recurring schedules),
121
+ - **Custom routines:** `routine.custom.<slug>` (kebab-case slug;
122
+ defaults to medium tier).
123
+ - **Messaging:** `message.dm`, `message.mention`
124
+ - **Dashboard:** `dashboard.chat`, `dashboard.docs_qa`
125
+ - **Scheduled / external:** `agent.task` (recurring schedules),
80
126
  `agent.dm_task` (DM-tone scheduled briefings),
81
- `schedule.approaching`, `calendar.change`, `gmail_classify`,
82
- `setup`
127
+ `schedule.approaching`, `calendar.change`, `gmail_classify`, `setup`
128
+ - **Delegated work:** `delegated_task` (lite) and `delegated_task_heavy`
129
+ — the only high-tier key, opt-in via the `delegatedTaskHeavyEnabled`
130
+ config flag. No install-time surface defaults to `high`; operators
131
+ pin high per-row on `/settings/models`.
83
132
 
84
133
  ## Where You See It in the Dashboard
85
134
 
@@ -7,29 +7,40 @@ aliases:
7
7
  - autonomous routines
8
8
  - cron
9
9
  - scheduled work
10
+ - routine pre-pass
11
+ - morning routine
12
+ - evening review
10
13
  category: concepts
11
14
  summary: |
12
15
  Routines are the autonomous, scheduled tasks Aitne runs on
13
- its own — morning routine, evening review, hourly check, weekly and
14
- monthly retros, plus any custom routines you define.
16
+ its own — morning routine, evening review, hourly check, weekly
17
+ retro, plus any custom routines you define.
15
18
  section: routines
16
19
  tags:
17
20
  - core
18
- - routine
21
+ - routines
19
22
  - autonomous
23
+ - scheduler
20
24
  status: stable
21
25
  ask_examples:
22
26
  - What routines does the agent run automatically?
23
27
  - How do I disable a routine?
24
28
  - Can I add my own routine?
29
+ - What is the routine pre-pass fetcher?
30
+ - Which routine uses the high tier by default?
25
31
  locale: en-US
26
32
  created: 2026-04-25
27
- updated: 2026-04-25
33
+ updated: 2026-05-28
28
34
  keywords:
29
35
  - routine
36
+ - routines
30
37
  - cron
31
38
  - autonomous
32
39
  - scheduler
40
+ - routine.fetch_window
41
+ - pre-pass
42
+ - dayBoundaryHour
43
+ - hourly check
33
44
  related:
34
45
  - features/routines/morning-routine
35
46
  - features/routines/evening-review
@@ -37,9 +48,29 @@ related:
37
48
  - features/routines/hourly-check
38
49
  - features/routines/custom-routines
39
50
  - concepts/process-keys
51
+ - concepts/observations
40
52
  ui_anchors:
41
53
  - /connections/routines
42
54
  - /settings/routines
55
+ process_keys:
56
+ - routine.morning_routine
57
+ - routine.morning_routine_today
58
+ - routine.morning_routine_journal
59
+ - routine.evening_review
60
+ - routine.weekly_review
61
+ - routine.monthly_review
62
+ - routine.hourly_check
63
+ - routine.today_refresh
64
+ - routine.fetch_window
65
+ - routine.hourly_check.triage
66
+ config_keys:
67
+ - dayBoundaryHour
68
+ - hourlyCheckEnabled
69
+ - hourlyCheckIntervalMinutes
70
+ - hourlyCheckActiveStartHour
71
+ - hourlyCheckActiveEndHour
72
+ - hourlyCheckPrePassFreshnessMinutes
73
+ - monthlyReviewEnabled
43
74
  ---
44
75
 
45
76
  # Routines
@@ -48,9 +79,10 @@ ui_anchors:
48
79
 
49
80
  A routine is a unit of agent work that runs on a schedule, not in
50
81
  response to a message. The morning routine fires once per agent day at
51
- `dayBoundaryHour`; evening / weekly / monthly retros fire on fixed
52
- schedules in code; the hourly check coalesces accumulated observations
53
- on a configurable cadence.
82
+ `dayBoundaryHour`; the evening review (18:00 daily), weekly review
83
+ (Friday 19:00), and optional monthly review fire on fixed schedules in
84
+ code; the hourly check coalesces accumulated observations on a
85
+ configurable cadence.
54
86
 
55
87
  ## Why This Concept Exists
56
88
 
@@ -70,45 +102,58 @@ DM is who fired the event.
70
102
  a ProcessKey starting with `routine.`.
71
103
  - **Agent day**: the 24-hour window starting at `dayBoundaryHour`
72
104
  (default 04:00) — see [Agent Day](agent-day.md).
73
- - **Catch-up**: if the daemon was offline at the trigger time, the
74
- scheduler re-fires the routine on next launch when it is still in
75
- the same agent day.
76
- - **Tier policy**: only the one-shot `routine.morning_routine_initial`
77
- runs heavy by default (Opus on Claude, GPT-5.5 on Codex, Gemini 3
78
- Pro on Gemini). Every other recurring routine morning, evening,
79
- weekly, monthly, hourly check — defaults to **medium** (Sonnet on
80
- Claude). The lite (Haiku) tier is reserved for mechanical
81
- sub-jobs: the hourly-check triage gate and the new pre-pass
82
- fetcher. See [Backends and Tiers](backends-and-tiers.md).
105
+ - **Catch-up**: if the daemon was offline at the trigger time, a
106
+ boot-time check re-fires any routine whose window has already
107
+ opened but never ran (morning routine within the agent day; evening
108
+ review once it is past 18:00; weekly review across Fri–Sun). It never
109
+ double-fires a routine that already succeeded.
110
+ - **Tier policy**: **no routine runs the high tier by default.** Every
111
+ recurring routine — morning, evening, weekly, hourly check —
112
+ defaults to **medium** (Sonnet on Claude). The **lite** (Haiku) tier
113
+ is reserved for the morning routine's Stage B and for mechanical
114
+ sub-jobs (the hourly-check triage gate and the pre-pass fetcher). The
115
+ only high-tier ProcessKey in the whole system is `delegated_task_heavy`,
116
+ which is opt-in and not a routine. See
117
+ [Backends and Tiers](backends-and-tiers.md).
118
+ - **Two-stage morning routine**: the morning routine runs as a parent
119
+ envelope `routine.morning_routine` (medium) that fans out two stages
120
+ in parallel — Stage A `routine.morning_routine_today` (medium, builds
121
+ `state/today.md`) and Stage B `routine.morning_routine_journal` (lite,
122
+ authors the previous day's journal). The legacy heavy-tier
123
+ `routine.morning_routine_initial` first-run branch was retired in
124
+ Phase 7 (2026-05-16); a first run is now detected inline from a
125
+ missing `state/yesterday.md` and handled by the same medium-tier
126
+ parent with a daemon-prepared `<roadmap_skeleton>` block.
83
127
  - **Pre-pass fetcher**: each main routine that needs fresh mail /
84
128
  calendar / Notion data is preceded by a lite-tier
85
129
  `routine.fetch_window` session that fetches the relevant window and
86
- POSTs observations. The main routine consumes the resulting
87
- `<fetch_report>` block plus pending observations instead of
88
- fetching upstream APIs itself. This is the cost-savings split
89
- introduced in 2026-05.
130
+ POSTs observations. The main routine then consumes the resulting
131
+ `<fetch_report>` block plus pending observations instead of hitting
132
+ upstream APIs itself a cost-savings split introduced in 2026-05.
90
133
 
91
134
  ## Concrete Examples
92
135
 
93
136
  | ProcessKey | When | Tier |
94
137
  |---|---|---|
95
- | `routine.morning_routine_initial` | First setup day, one-shot | heavy |
96
- | `routine.morning_routine` | `dayBoundaryHour` daily | medium |
97
- | `routine.today_refresh` | Every 4h inside the active window | medium |
138
+ | `routine.morning_routine` | `dayBoundaryHour` daily (parent envelope; first-run branch detected inline from missing `state/yesterday.md`) | medium |
139
+ | `routine.morning_routine_today` | Stage A of every morning routine (today.md synthesis + roadmap maintenance + schedule fan-out) | medium |
140
+ | `routine.morning_routine_journal` | Stage B of every morning routine (`journal/daily/<yesterday>.md` authoring) | lite |
98
141
  | `routine.evening_review` | 18:00 daily (fixed) | medium |
142
+ | `routine.weekly_review` | Friday 19:00 (fixed, one hour after evening review) | medium |
143
+ | `routine.monthly_review` | Last day of month at 18:00, **default off** (`monthlyReviewEnabled`) | medium |
99
144
  | `routine.hourly_check` | Every `hourlyCheckIntervalMinutes` (default 60) inside the active window | medium |
100
- | `routine.weekly_review` | Friday 18:00 (fixed) | medium |
101
- | `routine.monthly_review` | Last day of month, 18:00 (fixed) | medium |
102
- | `routine.fetch_window` | Spawned before each routine above (except monthly) | lite |
145
+ | `routine.today_refresh` | On calendar drift or a dashboard "refresh today" request (not a fixed cron) | medium |
146
+ | `routine.fetch_window` | Spawned before each routine above that needs fresh upstream data | lite |
103
147
  | `routine.hourly_check.triage` | Stage 2 gate of every hourly check | lite |
104
- | `routine.custom.<slug>` | Operator-defined recurrence | configurable |
148
+ | `routine.custom.<slug>` | Operator-defined recurrence | medium (override per routine via `backend_tier`) |
105
149
 
106
150
  ## Where You See It in the Dashboard
107
151
 
108
- - **Settings → Routines** is where the hourly check active window, the
109
- hourly check cadence, and any custom routines live. Morning, evening,
110
- weekly, and monthly fire times are fixed in code and not surfaced
111
- here.
152
+ - **Settings → Routines** is where the hourly check active window
153
+ (`hourlyCheckActiveStartHour` / `hourlyCheckActiveEndHour`), the
154
+ hourly check cadence (`hourlyCheckIntervalMinutes`), and any custom
155
+ routines live. Morning, evening, weekly, and monthly fire times are
156
+ fixed in code and not surfaced here.
112
157
  - **Connections → Routines** is the unified view of next-fire times.
113
158
  - **Activity** logs each routine run with its outcome.
114
159
 
@@ -19,7 +19,8 @@ section: safety
19
19
  tags:
20
20
  - core
21
21
  - safety
22
- - cost
22
+ - operations
23
+ - backends
23
24
  status: stable
24
25
  ask_examples:
25
26
  - What is the difference between Safe and Allow mode?
@@ -27,7 +28,7 @@ ask_examples:
27
28
  - How do I see what tools the agent is allowed to use?
28
29
  locale: en-US
29
30
  created: 2026-04-25
30
- updated: 2026-04-25
31
+ updated: 2026-05-28
31
32
  keywords:
32
33
  - safety
33
34
  - safe mode
@@ -35,18 +36,23 @@ keywords:
35
36
  - absolute block
36
37
  - disallowed tools
37
38
  - approval
39
+ - execution mode
40
+ - risk tier
38
41
  related:
42
+ - concepts/safety-model
39
43
  - concepts/skills
40
44
  - features/operations/approvals
41
45
  - reference/disallowed-tools
42
46
  ui_anchors:
43
47
  - /settings/advanced
48
+ - /settings/models
44
49
  config_keys:
45
50
  - disallowedTools
46
51
  - allowedToolsOverride
47
52
  - claudeExecutionPermissionMode
48
53
  - codexExecutionPermissionMode
49
54
  - geminiExecutionPermissionMode
55
+ - opencodeExecutionPermissionMode
50
56
  ---
51
57
 
52
58
  # Safety and Execution Modes
@@ -57,10 +63,13 @@ Three layers gate what the agent can do:
57
63
 
58
64
  1. **Skill `allowed-tools`** — the visible toolset for that session.
59
65
  2. **Execution mode** — Safe (strict permission checks, sandboxes)
60
- or Allow (SDK bypass, sandbox off). Per-backend.
61
- 3. **Always-disallowed** — a hard floor. Recursive deletes, sudo,
66
+ or Allow (SDK bypass, sandbox off). Set per-backend.
67
+ 3. **Always-disallowed** — a hard floor. Recursive deletes, `sudo`,
62
68
  secret-file reads / writes are denied unconditionally regardless
63
- of mode.
69
+ of mode, and neither a skill nor Allow mode can widen past it.
70
+
71
+ A fourth idea — the **risk tier** — sits on top of the daemon API and
72
+ decides whether a *write* runs on its own or waits for your approval.
64
73
 
65
74
  ## Why This Concept Exists
66
75
 
@@ -72,37 +81,57 @@ disallowed-tools floor.
72
81
 
73
82
  ## Definitions
74
83
 
75
- - **Safe mode**: the default. Strict permission checks, Claude curl/jq
76
- hooks, Codex workspace-write sandbox, Gemini whitelist TOML.
84
+ - **Safe mode**: the default. Strict permission checks, plus a
85
+ backend-specific enforcement layer — Claude curl/jq hooks, the Codex
86
+ workspace-write sandbox, the Gemini whitelist TOML, and the OpenCode
87
+ permission block.
77
88
  - **Allow mode**: the looser posture. SDK bypass, sandbox off, minimal
78
- TOML. The absolute-block layer still holds.
89
+ TOML. The absolute-block layer still holds in Allow mode, so the
90
+ destructive-ops floor never opens. Set independently per backend, so
91
+ one backend can run Allow while the others stay Safe.
79
92
  - **Absolute block**: the unconditional layer. `ALWAYS_DISALLOWED_TOOLS`
80
93
  in `src/safety/always-disallowed.ts`. Cannot be widened by skills,
81
94
  by config, or by allow-mode.
82
- - **Risk tier**: `read`, `notify`, `approve`. Read = autonomous. Notify
83
- = the agent proceeds after DMing the operator. Approve = blocked
84
- until the operator clicks approve in the dashboard.
95
+ - **Risk tier**: every daemon-API operation carries one of three tiers —
96
+ `autonomous`, `read_sensitive`, or `approve`. *Autonomous* runs without a
97
+ prompt. *Read-sensitive* reads (email, calendar, notes, context files) are
98
+ the same blast radius as autonomous but are gated by a read token when
99
+ `enforceReadToken` is on. *Approve* is blocked until you confirm with a
100
+ bearer token (the dashboard does this when you click Approve). There is no
101
+ separate "notify" tier — that behaviour now lives in the skill prompts: for
102
+ potentially destructive actions the agent DMs you first, then proceeds. See
103
+ [Safety model](safety-model.md) for the full taxonomy.
85
104
 
86
105
  ## Concrete Examples
87
106
 
88
- | Action | Risk tier |
107
+ The daemon API is the agent's only write path, so most of its own writes are
108
+ `autonomous` (the memory chokepoint validates and snapshots them). The
109
+ absolute-block layer and Approve tier are where the agent is actually stopped.
110
+
111
+ | Action | What gates it |
89
112
  |---|---|
90
- | Read `today.md` | read |
91
- | Append to `agent/journal.md` | notify |
92
- | Send a DM | notify |
93
- | Update `roadmap.md` | approve |
94
- | Recursive delete | absolute-block (refused) |
95
- | `chmod` on a daemon-owned file | absolute-block |
113
+ | Read `state/today.md` | `read_sensitive` (read token if `enforceReadToken`) |
114
+ | Append to `journal/agent.md` | `autonomous` — daemon API write |
115
+ | Update `plans/roadmap.md` | `autonomous`, plus a roadmap write-lock |
116
+ | Send a DM | `autonomous`; destructive follow-ups DM you first |
117
+ | Configure an automation trigger | `approve` needs a bearer token |
118
+ | `chmod` on a daemon-owned file | Safe-mode disallowed (allowed in Allow mode) |
119
+ | Recursive delete (`rm -rf`), `sudo`, secret-file read | absolute-block (refused in both modes) |
96
120
 
97
121
  ## Where You See It in the Dashboard
98
122
 
99
- - **Settings → Advanced** holds `disallowedTools`, `allowedToolsOverride`,
100
- and the per-backend execution mode switch.
101
- - **Activity** logs every blocked tool call as `action_type='blocked_absolute'`.
123
+ - **Settings → Advanced** holds the `disallowedTools` and
124
+ `allowedToolsOverride` tool-policy lists.
125
+ - **Settings → Models & Cost** holds the per-backend Safe / Allow
126
+ **Execution Mode** switch (you can also set it in the setup wizard).
127
+ - **Activity** logs every absolute-blocked tool call as
128
+ `action_type='blocked_absolute'`.
102
129
  - **Approvals** is where Approve-tier actions queue when they fire.
103
130
 
104
131
  ## Related
105
132
 
133
+ - [Safety model](safety-model.md) — the full risk-tier taxonomy and where
134
+ each API endpoint is classified.
106
135
  - [Skills](skills.md) — where each session's per-task `allowed-tools` lives.
107
136
  - [Approvals](../features/operations/approvals.md) — the operator-side
108
137
  surface for Approve-tier actions.