@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
@@ -8,11 +8,28 @@ summary: |
8
8
  Turn the freshly-installed agent into one that actually helps you —
9
9
  teach it about you, connect the tools you use, and describe the work
10
10
  you want it to do.
11
+ aliases:
12
+ - first day
13
+ - onboarding day 1
14
+ - day one
15
+ - day zero
11
16
  section: getting-started
12
17
  tags:
13
18
  - core
14
19
  - getting-started
20
+ - setup
21
+ - integrations
22
+ - routines
23
+ - memory
15
24
  status: stable
25
+ keywords:
26
+ - first day
27
+ - onboarding
28
+ - import history
29
+ - chatgpt import
30
+ - integrations
31
+ - profile
32
+ - teach the agent
16
33
  ask_examples:
17
34
  - What should I do on my first day?
18
35
  - How do I make the agent useful?
@@ -21,8 +38,21 @@ ask_examples:
21
38
  - How do I connect an app that isn't on the integrations list?
22
39
  - Can I teach the agent a multi-step morning task?
23
40
  locale: en-US
41
+ ui_anchors:
42
+ - /knowledge?tab=upload
43
+ - /knowledge?tab=context-files
44
+ - /connections
45
+ - /connections/mcp
46
+ - /settings/routines
47
+ - /activity
48
+ context_files:
49
+ - identity/profile.md
50
+ - state/today.md
51
+ - journal/agent.md
52
+ api_endpoints:
53
+ - POST /api/knowledge/import
24
54
  created: 2026-04-25
25
- updated: 2026-04-27
55
+ updated: 2026-05-28
26
56
  related:
27
57
  - getting-started/02-first-steps
28
58
  - getting-started/03-what-can-this-do
@@ -70,8 +100,8 @@ and 2.
70
100
  ## 1. Teach the agent about you
71
101
 
72
102
  The agent reads
73
- [`user/profile.md`](../features/memory-files/user-profile.md) and
74
- the rest of the `user/*.md` Context Files at the start of every
103
+ [`identity/profile.md`](../features/memory-files/user-profile.md) and
104
+ the rest of the `identity/*.md` Context Files at the start of every
75
105
  session. The faster those files have real content, the faster every
76
106
  reply gets useful.
77
107
 
@@ -87,9 +117,9 @@ Send 3–5 DMs that read like introductions to a new assistant:
87
117
  - *"I prefer terse replies in English. Don't summarize what I just
88
118
  said back to me."*
89
119
 
90
- The agent appends each fact to the right `user/*.md` file (work
91
- facts → `user/work.md`, people → `user/people.md`, preferences →
92
- `user/personal.md`, and so on). Identity-class facts (legal name,
120
+ The agent appends each fact to the right `identity/*.md` file (work
121
+ facts → `identity/work.md`, people → `identity/people.md`, preferences →
122
+ `identity/personal.md`, and so on). Identity-class facts (legal name,
93
123
  primary timezone) are deferred for your explicit confirmation
94
124
  rather than auto-written.
95
125
 
@@ -111,13 +141,13 @@ second upload are skipped automatically.
111
141
 
112
142
  ### Verify what landed
113
143
 
114
- Open **Knowledge → Context Files** and skim each `user/*.md` file.
144
+ Open **Knowledge → Context Files** and skim each `identity/*.md` file.
115
145
  If a bullet is wrong, edit it directly — the agent reads your edit
116
146
  on its next turn. The journal entry the import session writes
117
- (`agent/journal.md`) lists everything that was deferred or flagged
147
+ (`journal/agent.md`) lists everything that was deferred or flagged
118
148
  as a conflict.
119
149
 
120
- → [user/profile.md](../features/memory-files/user-profile.md) ·
150
+ → [identity/profile.md](../features/memory-files/user-profile.md) ·
121
151
  [Memory Model](../concepts/memory-model.md)
122
152
 
123
153
  ---
@@ -134,7 +164,7 @@ Open **Connections** and connect the ones you live in:
134
164
  | Integration | What it gives the agent |
135
165
  |---|---|
136
166
  | [Mail](../features/integrations/mail.md) | Reads and locally searches your inbox (Gmail, Outlook, Yahoo, iCloud, IMAP). Auto-files reading lists, receipts, travel bookings. |
137
- | [Calendar](../features/integrations/calendar.md) | Sees today's and upcoming events. Pre-meeting nudges, plus travel-time lookups. |
167
+ | [Calendar](../features/integrations/calendar.md) | Sees today's and upcoming events. Pre-meeting nudges. |
138
168
  | [Obsidian](../features/integrations/obsidian.md) | Watches a vault for new notes — references them in the morning plan. |
139
169
  | [Notion](../features/integrations/notion.md) | Watches selected pages and databases for changes. |
140
170
  | [Git](../features/integrations/git.md) / [GitHub](../features/integrations/github.md) | Watches local repos and tracked GitHub repos. |
@@ -239,14 +269,16 @@ Shortest path from zero to that:
239
269
  → Add custom routine**:
240
270
  - Slug: `morning-deep-prep`
241
271
  - Cron: `0 7 * * 1-5`
242
- - Backend tier: `heavy`
243
- - Max budget USD: `0.20`
272
+ - Backend tier: `high (opus)` — this is a heavy, multi-tool job
273
+ - Max budget (USD): `0.20` (a generous per-execute override; the
274
+ form default is `0.05`)
244
275
  - Description: paste the four numbered steps above verbatim.
245
276
  3. **Watch the next firing in Activity** and iterate. The vault file
246
- at `~/.personal-agent/context/routines/custom/morning-deep-prep.md`
247
- is a plain Markdown file edit the `## Checks` section directly
248
- to refine the wording or change the schedule. The watcher picks
249
- up changes without a restart.
277
+ at `~/.personal-agent/context/policies/routines/custom/morning-deep-prep.md`
278
+ is a plain Markdown file: edit the `## Checks` body to refine the
279
+ step wording, or the `cron:` field in the YAML frontmatter to
280
+ change the schedule. The watcher picks up changes without a
281
+ restart.
250
282
 
251
283
  → [Custom Routines](../features/routines/custom-routines.md) ·
252
284
  [Add a Custom Routine](../guides/add-a-custom-routine.md)
@@ -257,7 +289,7 @@ Shortest path from zero to that:
257
289
 
258
290
  By end of day one you should have:
259
291
 
260
- - At least 5–10 facts in `user/*.md` (DM and/or upload).
292
+ - At least 5–10 facts in `identity/*.md` (DM and/or upload).
261
293
  - Two or more **Connections** connected and showing recent polls in
262
294
  **Activity**.
263
295
  - One DM whose answer references something only your connected
@@ -267,11 +299,11 @@ By end of day one you should have:
267
299
 
268
300
  ## If it fails
269
301
 
270
- - Replies never reference anything specific to you → `user/*.md` is
302
+ - Replies never reference anything specific to you → `identity/*.md` is
271
303
  still mostly empty. DM more, or run a Knowledge upload.
272
304
  - A connected integration shows no observations after an hour →
273
305
  [Observation Not Detected](../troubleshooting/observation-not-detected.md).
274
- - A blank `today.md` after the morning routine →
306
+ - A blank `state/today.md` after the morning routine →
275
307
  [Morning Routine Didn't Run](../troubleshooting/morning-routine-didnt-run.md).
276
308
  - A Knowledge upload returns `409 setup_incomplete` → finish the
277
309
  setup wizard at `/setup` first.
@@ -284,4 +316,4 @@ By end of day one you should have:
284
316
  - [Add a Custom Routine](../guides/add-a-custom-routine.md)
285
317
  - [Delegated Mode](../concepts/delegated-mode.md)
286
318
  - [Skills and MCP](../concepts/skills.md)
287
- - [user/profile.md](../features/memory-files/user-profile.md)
319
+ - [identity/profile.md](../features/memory-files/user-profile.md)
@@ -3,25 +3,90 @@ schema_version: 1
3
3
  slug: glossary
4
4
  title: Glossary
5
5
  id: glossary
6
+ aliases:
7
+ - terms
8
+ - vocabulary
9
+ - lexicon
6
10
  category: glossary
11
+ section: glossary
7
12
  summary: |
8
13
  Single flat term list for Aitne vocabulary. Cross-references
9
14
  link to a single canonical anchor here so concept docs do not drift.
15
+ tags:
16
+ - core
17
+ - reference
18
+ - glossary
10
19
  status: stable
11
20
  ask_examples:
12
21
  - What is a ProcessKey?
13
22
  - What does heavy tier mean?
14
23
  - What is the difference between light and heavy tiers?
24
+ - What is OpenCode?
25
+ - What is a routine pre-pass?
26
+ - What is the wiki workspace?
27
+ - What is an integration mode?
28
+ - What is native mode?
29
+ - What is B-3 / browser history?
30
+ - What is B-4 / managed Chromium?
31
+ - What is a schema migration?
32
+ - What is execution permission mode?
33
+ - What is a bang command?
34
+ - What is deniedTools?
35
+ - What is an observation?
15
36
  locale: en-US
16
37
  created: 2026-04-25
17
- updated: 2026-04-25
38
+ updated: 2026-05-28
18
39
  keywords:
19
40
  - terminology
20
41
  - vocabulary
21
42
  - glossary
43
+ - backend
44
+ - processkey
45
+ - tier
46
+ - opencode
47
+ - observation
48
+ - skill
49
+ - wiki workspace
50
+ - integration mode
51
+ - native mode
52
+ - delegated mode
53
+ - browser history
54
+ - managed chromium
55
+ - schema migration
56
+ - execution permission mode
57
+ - research cluster
58
+ - bang command
59
+ - deniedTools
60
+ - safety model
22
61
  related:
23
62
  - concepts/agent-day
63
+ - concepts/backends-and-tiers
64
+ - concepts/process-keys
65
+ - concepts/observations
66
+ - concepts/delegated-mode
67
+ - concepts/safety-and-execution
68
+ - concepts/safety-model
24
69
  - features/routines/morning-routine
70
+ - features/wiki/overview
71
+ - features/integrations/browser-history
72
+ - features/messaging/bang-commands
73
+ ui_anchors:
74
+ - /settings/models
75
+ - /docs
76
+ - /settings/integrations/browser-history-managed/b4
77
+ process_keys:
78
+ - dashboard.docs_qa
79
+ - delegated_task_heavy
80
+ - routine.fetch_window
81
+ - routine.hourly_check
82
+ - routine.research_cluster_update
83
+ config_keys:
84
+ - dayBoundaryHour
85
+ - browserTaskHostnameDenylist
86
+ - delegatedTaskHeavyEnabled
87
+ - claudeExecutionPermissionMode
88
+ api_endpoints:
89
+ - POST /api/observations
25
90
  ---
26
91
 
27
92
  # Glossary
@@ -38,9 +103,46 @@ and rationale.
38
103
  ## Backend
39
104
 
40
105
  One of the model providers Aitne can dispatch to: `claude`
41
- (Claude Code SDK), `codex` (Codex CLI), or `gemini` (Gemini CLI). Each
42
- backend is configured per-installation; one is the **main backend**, and
43
- the others can be enabled as fallbacks.
106
+ (Claude Code SDK), `codex` (Codex CLI), `gemini` (Gemini CLI), or
107
+ `opencode` (`@opencode-ai/sdk` HTTP server). Each backend is configured
108
+ per-installation; one is the **main backend**, and the others can be
109
+ enabled as fallbacks.
110
+
111
+ ## Browser History (B-3)
112
+
113
+ Local-only history poller that reads the browser's own SQLite database
114
+ (Chrome / Safari / Firefox / Arc) and records page visits as
115
+ observations. Drives the **research cluster** derivation, the weekly
116
+ reload-memory block, and the [`!checks`](features/messaging/bang-commands.md)
117
+ on-demand reload tally. No content is uploaded; only URLs, titles, and
118
+ visit timings the browser itself recorded. See
119
+ [Browser History](features/integrations/browser-history.md).
120
+
121
+ ## Managed Chromium (B-4)
122
+
123
+ Experimental purchase-confirmation flow that drives a daemon-spawned
124
+ Chromium profile to complete a vendor checkout the agent has already
125
+ prepared. **Default-off.** Requires per-site opt-in, the experimental-
126
+ danger acknowledgement modal, at least one DM channel, a single-use
127
+ `!~xxxxxxxx` token, screenshot-first consent, and a 5-min timeout. There
128
+ is no longer a hardcoded domain category denylist (banks, government,
129
+ payment processors, etc. were removed at the framework level on
130
+ 2026-05-27); domain-level deny is operator-managed via **Settings →
131
+ Integrations → Browser History (Managed) → B-4** (`browserTaskHostnameDenylist`,
132
+ default empty). The structural defences that remain: the IP CIDR layer
133
+ in `shouldDenyEgress` (RFC1918 / loopback / cloud-metadata), the
134
+ form-submit `payment-path-blocker`, and the single-use token primitive.
135
+ Operator self-testing only until B-3 has been stable for six weeks. See
136
+ [Managed Chromium](features/operations/managed-chromium.md).
137
+
138
+ ## Bang Command
139
+
140
+ Short, owner-only command typed in a paired DM that starts with `!`
141
+ (e.g. `!help`, `!stop`, `!cost`, `!report`, `!checks`, `!research`,
142
+ `!ingest`, `!compile`, `!ask`). Handled by the daemon directly — no
143
+ LLM call, no cost, no session opened. Built-in commands plus operator-
144
+ enabled custom commands appear in `!help`. See
145
+ [Bang Commands](features/messaging/bang-commands.md).
44
146
 
45
147
  ## Backend Router
46
148
 
@@ -61,19 +163,111 @@ matching anchor.
61
163
  The hour-of-day at which the agent day rolls over. Configured via
62
164
  `dayBoundaryHour` (default `4`).
63
165
 
166
+ ## deniedTools
167
+
168
+ Per-integration deny list of tool names (or prefix globs like
169
+ `send_*`) the agent must not call. The primary defense against
170
+ unwanted destructive actions in the [Safety Model](concepts/safety-model.md).
171
+ Editable in **Connections → \<integration\> → Tool Permissions**;
172
+ seeded with a recommended starter list on first delegated setup.
173
+ Patterns are validated against the connector's `capabilityTools` set
174
+ at PATCH time so typos fail fast.
175
+
176
+ ## Execution Permission Mode
177
+
178
+ Per-backend `Safe` / `Allow` posture, set independently for each
179
+ registered backend via
180
+ `{claude,codex,gemini,opencode}ExecutionPermissionMode`. **Safe** =
181
+ strict per-call permission checks plus the Claude curl/jq hooks,
182
+ Codex `workspace-write` sandbox, and Gemini whitelist TOML. **Allow** =
183
+ SDK bypass / sandbox off / minimal TOML. The absolute-block layer
184
+ (recursive delete, sudo, secret-file reads/writes) is enforced in
185
+ *both* modes — `allowedToolsOverride` cannot widen past it. Codex
186
+ allow mode cannot enforce the absolute-block layer for shell commands
187
+ (no hook surface); the gap is documented in
188
+ `docs/design/09-safety-cost.md`. See
189
+ [Safety and Execution](concepts/safety-and-execution.md).
190
+
191
+ ## Integration Mode
192
+
193
+ The per-integration posture for how Aitne ingests events from a
194
+ connected service: `direct | delegated | native | disabled`.
195
+
196
+ - **direct** — the daemon runs its own poller against the integration's
197
+ API.
198
+ - **delegated** — a lite-tier `delegated-sync-worker` polls on opt-in
199
+ cadences (see `docs/design/appendices/delegated-sync-opt-in.md`).
200
+ - **native** — no poller; the main backend reaches the integration
201
+ through its own MCP connector and POSTs observations in-turn via
202
+ `/api/observations`. Two variants: **descriptor-driven** (the
203
+ integration ships a `backendConnectors` entry — `gmail`,
204
+ `google_calendar`, `notion`) and **user-managed** (the descriptor
205
+ declares `userManagedConnector: true` and the user installs their own
206
+ MCP / skill harness — `outlook_mail`, `outlook_calendar`).
207
+ - **disabled** — silence; no poller, no native handoff.
208
+
209
+ Mode lookup goes through `getIntegrationState(db, key)`; never
210
+ hardcode an integration reference outside
211
+ `packages/shared/src/integrations.ts`. See
212
+ [Delegated Mode](concepts/delegated-mode.md).
213
+
64
214
  ## Heavy Tier
65
215
 
66
- The expensive, high-quality model lane on each backend (Claude Opus
67
- 4.7, GPT-5.5, Gemini 3 Pro). Reserved by default for processes whose
68
- output quality directly drives the agent's daily decision-making —
69
- primarily `routine.morning_routine` and the one-shot
70
- `routine.morning_routine_initial` plus `setup`.
216
+ Synonym for the **high** tier — the expensive, high-quality model lane
217
+ on each backend (Claude Opus 4.8 / `claude-opus-4-8`, `gpt-5.5` on
218
+ Codex, `gemini-3.1-pro-preview` on Gemini, Opus 4.8 via OpenCode).
219
+ Registered but not auto-selected on any install-seeded surface: after
220
+ the "no Opus by default" pass (2026-05-16) the **only** process key that
221
+ defaults to high tier is `delegated_task_heavy` (opt-in, gated by the
222
+ `delegatedTaskHeavyEnabled` flag). Every other process key — including
223
+ `setup` and `knowledge.import` — defaults to medium. Operators can pin
224
+ any other process key to high per row from the `/settings/models`
225
+ dashboard page.
71
226
 
72
227
  ## Light Tier
73
228
 
74
- The cheaper, fast model lane on each backend (Claude Sonnet 4.6,
75
- GPT-5.4-mini, Gemini 3 Flash). Default for owner DMs, dashboard chat,
76
- the hourly check, and the evening / weekly / monthly review routines.
229
+ Operator-facing umbrella for the two non-heavy lanes on each backend:
230
+
231
+ - **Medium / Main** (Claude Sonnet 4.6, `gpt-5.4` on Codex,
232
+ `gemini-3.1-pro-preview` on Gemini, Sonnet 4.6 via OpenCode) —
233
+ default for owner DMs, dashboard chat, the hourly check, and the
234
+ morning / evening / weekly review routines.
235
+ - **Lite / Delegated** (Claude Haiku 4.5, `gpt-5.4-mini` on Codex,
236
+ `gemini-3.1-flash-lite-preview` on Gemini, Haiku 4.5 via OpenCode) —
237
+ reserved for mechanical / delegated surfaces: Gmail classification,
238
+ GitHub triage, calendar-change handlers, the routine pre-pass
239
+ fetcher, the `delegated_task` invoker.
240
+
241
+ ## OpenCode
242
+
243
+ The 4th backend (joined 2026-05). Implemented on top of
244
+ `@opencode-ai/sdk`'s HTTP server. Operates in **Managed** mode (the
245
+ daemon spawns a local loopback server) or **Remote** mode (operator
246
+ points at an existing baseUrl). OpenCode dispatches the same
247
+ ProcessKey set as Claude / Codex / Gemini but does not host
248
+ native-mode integration connectors. Cost telemetry reads
249
+ `session.info.cost` + `info.tokens` with a `MODEL_REGISTRY` pricing
250
+ fallback when upstream reports zero.
251
+
252
+ ## Routine Pre-pass
253
+
254
+ A lite-tier `routine.fetch_window` session spawned before each main
255
+ routine (morning / today_refresh / hourly_check / evening / weekly).
256
+ It fetches each routine's mail / calendar / Notion window
257
+ (`ROUTINE_WINDOWS`) and POSTs the results to `/api/observations`. The
258
+ main routine then consumes the resulting `<fetch_report>` block and
259
+ pending observations instead of calling upstream APIs itself. Introduced
260
+ in 2026-05 to trim morning-routine input tokens by ~24%.
261
+
262
+ ## Observation
263
+
264
+ One row in the `observations` table. A change record a polling
265
+ integration (Obsidian, Git, Notion, calendar, mail, browser history)
266
+ or a `routine.fetch_window` pre-pass wrote into SQLite. The
267
+ `routine.hourly_check` is the consumer — there is no per-change
268
+ notification. `actor='agent'` rows are filtered out by the consumer
269
+ to break the agent-observing-its-own-writes loop. See
270
+ [Observations](concepts/observations.md).
77
271
 
78
272
  ## ProcessKey
79
273
 
@@ -82,12 +276,40 @@ The branded string identifier for a class of agent invocation, e.g.
82
276
  backend selection, skill manifest, agent profile, and task-flow
83
277
  template lookup. Defined in `packages/shared/src/process-key.ts`.
84
278
 
279
+ ## Research Cluster
280
+
281
+ A topic the browser-history poller derives from a user's reading
282
+ pattern when meaningful visits, foreground time, and distinct domains
283
+ cross a threshold. Each cluster has a slug, a display name, a journal
284
+ file at `context/research/<slug>.md`, and a status
285
+ (`active | dormant | muted | concluded`). Surfaced via the
286
+ **Two-Option Offer DM** (research dive vs. wiki summary) and the
287
+ [`!research`](features/messaging/bang-commands.md) bang prefix.
288
+
289
+ ## Schema Migration
290
+
291
+ Forward-only, append-only, idempotent migration entry in
292
+ `packages/daemon/src/db/migrations.ts:MIGRATIONS`. Runs right after
293
+ `applySchema(db)` at boot; applied ids are recorded in
294
+ `schema_migrations` so each runs at most once per DB. Used for any
295
+ non-additive change to a pre-existing structure — `ALTER TABLE ADD
296
+ COLUMN`, `CREATE INDEX` on a column added by a prior migration, data
297
+ backfill, or a `settings_json` shape change whose old value won't parse
298
+ under the new schema. Gating ALTERs behind `columnExists` /
299
+ `tableExists` / `indexExists` keeps a fresh DB (where `applySchema`
300
+ already produced the target state) a no-op. The legacy reinstall
301
+ escape hatch still exists as a last resort, but **migrations are the
302
+ upgrade path** — see [Reinstall Cleanly](guides/reinstall-cleanly.md).
303
+
85
304
  ## QA Panel
86
305
 
87
306
  The right-side pane on `/docs` and the bottom of the `?`-button
88
307
  slide-over that runs grounded question answering over the docs corpus.
89
- Runs on the operator's DM-bound backend at the **light tier** —
90
- inherited from `message.dm`'s binding via the cascade-write helper.
308
+ Dispatched under the `dashboard.docs_qa` ProcessKey, which is **hard
309
+ tier-locked to medium** (`TIER_LOCKED_PROCESS_KEYS` in
310
+ `packages/shared/src/process-key.ts`) — an operator pin to a different
311
+ tier is ignored. The backend itself is inherited from the operator's
312
+ DM-bound backend via the cascade-write helper.
91
313
 
92
314
  ## Skill
93
315
 
@@ -104,26 +326,68 @@ the row key in `fts_docs`, and the first half of every
104
326
 
105
327
  ## Tier
106
328
 
107
- Short for **model tier**: `light` or `heavy`. Each ProcessKey has a
108
- default tier; per-process pins and per-call requested-tier overrides can
109
- deviate from that default.
329
+ Short for **model tier**. The code-level enum (`ProcessModelTier` in
330
+ `packages/shared/src/process-key.ts`) has three values `lite`,
331
+ `medium`, `high`. This doc also uses the operator-facing two-way split
332
+ **light** (lite + medium) vs **heavy** (high); see [Light Tier](#light-tier)
333
+ and [Heavy Tier](#heavy-tier). Each ProcessKey has a default tier;
334
+ per-process pins and per-call requested-tier overrides can deviate from
335
+ that default, except for keys in `TIER_LOCKED_PROCESS_KEYS` (today only
336
+ `dashboard.docs_qa`, locked to medium).
337
+
338
+ ## Two-Option Offer DM
339
+
340
+ DM pattern used for research-cluster offers and any other follow-up
341
+ where the user has two natural choices. Sends one DM with two distinct
342
+ actions (e.g. "research dive" vs. "wiki summary") instead of a single
343
+ yes/no prompt; the user replies with the matching `!research` subcommand
344
+ to accept either path. Replaces the older single-option offer for
345
+ ambiguous-intent surfaces.
110
346
 
111
347
  ## Today.md
112
348
 
113
349
  The current agent day's main memory file under
114
- `~/.personal-agent/context/today.md`. Rebuilt once per day by the
350
+ `~/.personal-agent/context/state/today.md`. Rebuilt once per day by the
115
351
  morning routine and edited by every DM, observation, and routine that
116
352
  needs to record state for the day.
117
353
 
118
354
  ## Wiki Workspace
119
355
 
120
356
  A single named root the wiki feature writes into. Either **internal**
121
- (`~/.personal-agent/wiki/`) or **external** (a path you point at, often
122
- an existing Obsidian vault). Every wiki bang command targets a
123
- workspace; omitting the `@<workspace>` token addresses the default.
357
+ (`~/.personal-agent/context/knowledge/wiki/` after the context-vault v2 restructure;
358
+ pre-v2 installs lived at `~/.personal-agent/wiki/`) or **external**
359
+ (a path you point at, often an existing Obsidian vault). Every wiki bang
360
+ command targets a workspace; omitting the `@<workspace>` token addresses the default.
124
361
  See [Wiki Overview](features/wiki/overview.md) and
125
362
  [Multiple Wikis](guides/multiple-wikis-for-multiple-domains.md).
126
363
 
364
+ ## Authority Class
365
+
366
+ One of the six top-level partitions of the vault — `identity/`, `state/`,
367
+ `plans/`, `journal/`, `knowledge/`, `policies/`. Each class carries a
368
+ distinct authority + lifecycle contract; the daemon enforces by reading
369
+ file frontmatter (Phase 1 advisory; Phase 2 strict). Established by the
370
+ context-vault v2 restructure (CONTEXT_VAULT_REDESIGN_PLAN.md). See
371
+ [Knowledge Layout](reference/knowledge-layout.md) for what lives in each.
372
+
373
+ ## Context Vault v2
374
+
375
+ The vault layout introduced by the context-vault v2 restructure
376
+ (migration id `0004-context-vault-restructure`) — six authority classes,
377
+ in-process legacy path alias, `wiki/` and `integrations.md` and user
378
+ `skills/` consolidated under the vault root. Migrates forward-only on
379
+ first boot of the cutover release; never destroys user data. See
380
+ [Knowledge Layout](reference/knowledge-layout.md).
381
+
382
+ ## Frontmatter Contract
383
+
384
+ YAML preamble in each vault MD file declaring `kind` (one of the six
385
+ class names), `authority` (`user` / `agent` / `mixed`), `mutability`
386
+ (`replace` / `patch` / `append` / `readonly`), `slug`, and `title`.
387
+ Parsed by `core/context-validation/frontmatter.ts`. Phase 1 logs
388
+ warnings on missing/invalid frontmatter; Phase 2 rejects the write.
389
+ Toggle: `runtimeSettings.contextVault.enforceFrontmatter` (default `false`).
390
+
127
391
  ## Wiki Layers
128
392
 
129
393
  The four directories every workspace contains:
@@ -3,25 +3,49 @@ schema_version: 1
3
3
  slug: guides/add-a-custom-routine
4
4
  title: Add a Custom Routine
5
5
  id: add-a-custom-routine
6
+ aliases:
7
+ - custom routine
8
+ - user-defined routine
9
+ - add a routine
10
+ - scheduled task
6
11
  category: guides
7
12
  summary: |
8
- Define a new autonomous routine — slug, cron expression, tier, and
13
+ Define a new autonomous routine — slug, cron expression, model tier, and
9
14
  budget cap — via /settings/routines. The form writes a vault file at
10
- routines/custom/<slug>.md.
15
+ policies/routines/custom/<slug>.md; saving it registers the cron job.
11
16
  section: add-a-custom-routine
12
17
  tags:
13
- - guide
18
+ - guides
14
19
  - routines
20
+ - scheduler
21
+ - autonomous
22
+ - core
15
23
  status: stable
16
24
  ask_examples:
17
25
  - How do I add a custom routine?
18
26
  - What can a custom routine do?
27
+ - How do I schedule the agent to run on a cron?
19
28
  locale: en-US
20
29
  created: 2026-04-25
21
- updated: 2026-04-25
30
+ updated: 2026-05-28
31
+ keywords:
32
+ - custom routine
33
+ - schedule
34
+ - cron
35
+ - recurrence
36
+ - backend_tier
37
+ - process_key
38
+ ui_anchors:
39
+ - /settings/routines
40
+ api_endpoints:
41
+ - PUT /api/context/*
42
+ context_files:
43
+ - policies/routines/custom/<slug>.md
22
44
  related:
23
45
  - features/routines/custom-routines
24
46
  - concepts/routines
47
+ - concepts/process-keys
48
+ - concepts/backends-and-tiers
25
49
  ---
26
50
 
27
51
  # Add a Custom Routine
@@ -38,22 +62,48 @@ Make the agent fire a particular kind of work on a schedule you pick.
38
62
 
39
63
  1. Open `/settings/routines` (the older `/connections/routines` URL
40
64
  redirects here).
41
- 2. Click "Add custom routine".
65
+ 2. Click **Add**. The "New custom routine" dialog opens.
42
66
  3. Fill the form:
43
- - **Slug** — kebab-case (e.g. `tuesday-notion-sweep`); becomes the
44
- ProcessKey `routine.custom.<slug>` and the file name
45
- `routines/custom/<slug>.md`.
46
- - **Cron expression** — standard 5-field cron (e.g. `0 11 * * 2`).
47
- The form previews the next three fires.
48
- - **Backend tier** `light` or `heavy`. Custom routines have no
49
- concrete model picker; tier determines which model the
50
- BackendRouter resolves at fire time.
51
- - **Max budget USD** per-execute cap (default `0.05`).
52
- - **Description** free-text. Becomes the body of the generated
53
- vault file under `## Checks`. Edit the file later to refine the
54
- check list.
55
- 4. Save. The dashboard writes the vault file; the next-fire timestamp
56
- appears in the routine table.
67
+ - **Slug** — lowercase kebab-case, 1–64 chars, no leading/trailing
68
+ hyphen (e.g. `tuesday-notion-sweep`). It becomes the ProcessKey
69
+ `routine.custom.<slug>` and the file name
70
+ `policies/routines/custom/<slug>.md`.
71
+ - **Cron expression** standard 5-field cron in the daemon's
72
+ timezone (e.g. `0 11 * * 2` for 11:00 every Tuesday). The dialog
73
+ previews the next three fire times.
74
+ - **Backend tier** `lite` (Haiku), `medium` (Sonnet), or `high`
75
+ (Opus). Default is `medium`. Custom routines have no concrete
76
+ model picker; the tier is written to the file's `backend_tier`
77
+ frontmatter, and the BackendRouter resolves the actual model at
78
+ fire time. (See [Backends and tiers](../concepts/backends-and-tiers.md).)
79
+ - **Max budget (USD)** per-execute cap (default `0.05`; must be a
80
+ positive number).
81
+ - **Description** — optional free text. It becomes the body of the
82
+ generated vault file, above an empty `## Checks` section seeded
83
+ with a `### First check` placeholder. Edit the file later on the
84
+ same page to flesh out the check list.
85
+ 4. Click **Create**. The dashboard writes the vault file via the
86
+ context API (`PUT /api/context/policies/routines/custom/<slug>`).
87
+ Because the file ships with `enabled: true` and a `cron:` field,
88
+ saving it registers (or refreshes) the cron job, and the next-fire
89
+ timestamp appears in the routine list.
90
+
91
+ The generated file looks roughly like this:
92
+
93
+ ```yaml
94
+ ---
95
+ type: rule
96
+ slug: tuesday-notion-sweep
97
+ cron: "0 11 * * 2"
98
+ process_key: routine.custom.tuesday-notion-sweep
99
+ enabled: true
100
+ backend_tier: medium
101
+ max_budget_usd: 0.05
102
+ ---
103
+ ```
104
+
105
+ To stop a routine without deleting it, set `enabled: false` in the
106
+ file and save — that unregisters the cron job.
57
107
 
58
108
  ## Verification
59
109
 
@@ -62,9 +112,11 @@ Make the agent fire a particular kind of work on a schedule you pick.
62
112
 
63
113
  ## If It Fails
64
114
 
65
- - A cron that resolves to "never": the dashboard refuses to save it.
66
- - A prompt that hits absolute-block guardrails: the routine fires
67
- but the offending tool call is logged as `blocked_absolute`.
115
+ - A cron that resolves to "never" (or is otherwise invalid): the
116
+ dialog shows the preview error and refuses to save it.
117
+ - A prompt that hits the absolute-block guardrails: the routine fires
118
+ but the offending tool call is logged as `blocked_absolute` in the
119
+ action log.
68
120
 
69
121
  ## Related
70
122