@aitne-sh/aitne 0.1.7 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (317) hide show
  1. package/README.md +256 -833
  2. package/agent-assets/agent-profiles/_safety.md +52 -20
  3. package/agent-assets/agent-profiles/browser-task.md +108 -0
  4. package/agent-assets/agent-profiles/conversational.md +3 -3
  5. package/agent-assets/agent-profiles/profile-importer.md +3 -3
  6. package/agent-assets/agent-profiles/routine-fetch-window.md +30 -19
  7. package/agent-assets/agent-profiles/routine.md +4 -3
  8. package/agent-assets/agents/context-index-reconcile/agent.md +52 -0
  9. package/agent-assets/agents/evening-review/agent.md +53 -0
  10. package/agent-assets/agents/hourly-check/agent.md +62 -0
  11. package/agent-assets/agents/monthly-review/agent.md +55 -0
  12. package/agent-assets/agents/morning-routine/agent.md +78 -0
  13. package/agent-assets/agents/roadmap-maintenance/agent.md +52 -0
  14. package/agent-assets/agents/skill-curation/agent.md +52 -0
  15. package/agent-assets/agents/user-profile-sweep-evening/agent.md +48 -0
  16. package/agent-assets/agents/user-profile-sweep-morning/agent.md +53 -0
  17. package/agent-assets/agents/weekly-review/agent.md +51 -0
  18. package/agent-assets/docs/concepts/agent-day.md +18 -11
  19. package/agent-assets/docs/concepts/auth-health.md +56 -10
  20. package/agent-assets/docs/concepts/backends-and-tiers.md +110 -41
  21. package/agent-assets/docs/concepts/costs-and-quotas.md +74 -19
  22. package/agent-assets/docs/concepts/delegated-mode.md +193 -75
  23. package/agent-assets/docs/concepts/memory-model.md +79 -34
  24. package/agent-assets/docs/concepts/observations.md +61 -11
  25. package/agent-assets/docs/concepts/process-keys.md +66 -17
  26. package/agent-assets/docs/concepts/routines.md +77 -32
  27. package/agent-assets/docs/concepts/safety-and-execution.md +50 -21
  28. package/agent-assets/docs/concepts/safety-model.md +62 -37
  29. package/agent-assets/docs/concepts/skills.md +38 -17
  30. package/agent-assets/docs/features/integrations/browser-history.md +195 -0
  31. package/agent-assets/docs/features/integrations/calendar.md +40 -30
  32. package/agent-assets/docs/features/integrations/git.md +20 -9
  33. package/agent-assets/docs/features/integrations/github.md +93 -35
  34. package/agent-assets/docs/features/integrations/mail.md +60 -17
  35. package/agent-assets/docs/features/integrations/notion.md +51 -11
  36. package/agent-assets/docs/features/integrations/obsidian.md +35 -7
  37. package/agent-assets/docs/features/lifestyle/git.md +45 -44
  38. package/agent-assets/docs/features/lifestyle/reading.md +50 -22
  39. package/agent-assets/docs/features/lifestyle/receipts.md +66 -21
  40. package/agent-assets/docs/features/lifestyle/travel-bookings.md +91 -14
  41. package/agent-assets/docs/features/memory-files/agent-journal.md +111 -50
  42. package/agent-assets/docs/features/memory-files/projects.md +75 -15
  43. package/agent-assets/docs/features/memory-files/roadmap.md +55 -10
  44. package/agent-assets/docs/features/memory-files/schedule.md +113 -70
  45. package/agent-assets/docs/features/memory-files/today.md +47 -21
  46. package/agent-assets/docs/features/memory-files/user-profile.md +67 -31
  47. package/agent-assets/docs/features/messaging/bang-commands.md +115 -28
  48. package/agent-assets/docs/features/messaging/dashboard-chat.md +43 -21
  49. package/agent-assets/docs/features/messaging/discord.md +46 -4
  50. package/agent-assets/docs/features/messaging/overview.md +40 -19
  51. package/agent-assets/docs/features/messaging/pairing-and-magic-phrase.md +94 -27
  52. package/agent-assets/docs/features/messaging/slack.md +79 -14
  53. package/agent-assets/docs/features/messaging/telegram.md +25 -6
  54. package/agent-assets/docs/features/messaging/whatsapp.md +79 -14
  55. package/agent-assets/docs/features/operations/activity-and-conversations.md +45 -16
  56. package/agent-assets/docs/features/operations/approvals.md +53 -15
  57. package/agent-assets/docs/features/operations/backend-routing.md +75 -16
  58. package/agent-assets/docs/features/operations/cost-tracking.md +90 -17
  59. package/agent-assets/docs/features/operations/managed-chromium.md +221 -0
  60. package/agent-assets/docs/features/operations/notifications.md +58 -11
  61. package/agent-assets/docs/features/operations/quiet-hours.md +63 -40
  62. package/agent-assets/docs/features/operations/schedule-approaching.md +59 -16
  63. package/agent-assets/docs/features/routines/custom-routines.md +97 -23
  64. package/agent-assets/docs/features/routines/evening-review.md +75 -22
  65. package/agent-assets/docs/features/routines/hourly-check.md +150 -30
  66. package/agent-assets/docs/features/routines/morning-routine.md +60 -33
  67. package/agent-assets/docs/features/routines/weekly-review.md +65 -20
  68. package/agent-assets/docs/features/wiki/commands.md +37 -16
  69. package/agent-assets/docs/features/wiki/cost-and-approval.md +240 -0
  70. package/agent-assets/docs/features/wiki/dashboard.md +255 -0
  71. package/agent-assets/docs/features/wiki/overview.md +80 -12
  72. package/agent-assets/docs/features/wiki/search.md +248 -0
  73. package/agent-assets/docs/features/wiki/workspaces.md +254 -0
  74. package/agent-assets/docs/getting-started/01-what-is-this.md +64 -32
  75. package/agent-assets/docs/getting-started/02-first-steps.md +28 -10
  76. package/agent-assets/docs/getting-started/03-what-can-this-do.md +42 -21
  77. package/agent-assets/docs/getting-started/04-first-day.md +52 -20
  78. package/agent-assets/docs/glossary.md +285 -21
  79. package/agent-assets/docs/guides/add-a-custom-routine.md +74 -22
  80. package/agent-assets/docs/guides/backup-and-restore.md +92 -14
  81. package/agent-assets/docs/guides/budget-and-cost-for-wiki.md +62 -25
  82. package/agent-assets/docs/guides/build-your-wiki.md +33 -6
  83. package/agent-assets/docs/guides/change-which-model-handles-x.md +70 -9
  84. package/agent-assets/docs/guides/connect-a-new-mail-account.md +80 -15
  85. package/agent-assets/docs/guides/explore-with-trace-and-connect.md +32 -9
  86. package/agent-assets/docs/guides/import-knowledge-file.md +60 -39
  87. package/agent-assets/docs/guides/install-and-run.md +64 -19
  88. package/agent-assets/docs/guides/maintain-wiki-health.md +41 -10
  89. package/agent-assets/docs/guides/migrate-machines.md +86 -18
  90. package/agent-assets/docs/guides/multiple-wikis-for-multiple-domains.md +119 -59
  91. package/agent-assets/docs/guides/pause-the-agent.md +71 -22
  92. package/agent-assets/docs/guides/reinstall-cleanly.md +102 -17
  93. package/agent-assets/docs/guides/setup-wizard.md +126 -56
  94. package/agent-assets/docs/guides/switch-default-backend.md +72 -17
  95. package/agent-assets/docs/guides/use-an-existing-obsidian-vault.md +31 -10
  96. package/agent-assets/docs/reference/api.md +162 -23
  97. package/agent-assets/docs/reference/cli-commands.md +55 -15
  98. package/agent-assets/docs/reference/config.md +246 -39
  99. package/agent-assets/docs/reference/disallowed-tools.md +42 -10
  100. package/agent-assets/docs/reference/keyboard-shortcuts.md +47 -10
  101. package/agent-assets/docs/reference/knowledge-layout.md +620 -0
  102. package/agent-assets/docs/reference/process-keys.md +126 -20
  103. package/agent-assets/docs/reference/skills.md +62 -18
  104. package/agent-assets/docs/troubleshooting/auth-failed.md +53 -19
  105. package/agent-assets/docs/troubleshooting/dashboard-shows-degraded.md +96 -22
  106. package/agent-assets/docs/troubleshooting/fallback-keeps-firing.md +94 -20
  107. package/agent-assets/docs/troubleshooting/messaging-not-pairing.md +77 -22
  108. package/agent-assets/docs/troubleshooting/morning-routine-didnt-run.md +87 -22
  109. package/agent-assets/docs/troubleshooting/observation-not-detected.md +85 -21
  110. package/agent-assets/docs/troubleshooting/quota-exhausted.md +36 -6
  111. package/agent-assets/docs/troubleshooting/wiki-ingest-full-blocked.md +128 -51
  112. package/agent-assets/docs/troubleshooting/wiki-write-failed.md +33 -11
  113. package/agent-assets/optimizer-skills/drift-analysis/SKILL.md +1 -1
  114. package/agent-assets/optimizer-skills/knowledge-map/SKILL.md +1 -1
  115. package/agent-assets/optimizer-skills/skill-curation/SKILL.md +2 -2
  116. package/agent-assets/sandbox/linux/aitne-chromium.apparmor +91 -0
  117. package/agent-assets/sandbox/macos/aitne-chromium.sb +156 -0
  118. package/agent-assets/skills/agent-actions/SKILL.md +122 -0
  119. package/agent-assets/skills/agent-create/SKILL.md +149 -0
  120. package/agent-assets/skills/attach/SKILL.md +3 -4
  121. package/agent-assets/skills/browser-history/SKILL.md +198 -0
  122. package/agent-assets/skills/browser-history-respond/SKILL.md +106 -0
  123. package/agent-assets/skills/browser-task/SKILL.md +169 -0
  124. package/agent-assets/skills/context/SKILL.md +45 -463
  125. package/agent-assets/skills/context/curation.json +2 -2
  126. package/agent-assets/skills/context/references/api.md +232 -0
  127. package/agent-assets/skills/context/references/required-frontmatter.md +73 -0
  128. package/agent-assets/skills/context/references/snapshot-files.md +103 -0
  129. package/agent-assets/skills/context/seeds/file-responsibilities.seed.json +4 -4
  130. package/agent-assets/skills/docs-search/SKILL.md +17 -16
  131. package/agent-assets/skills/external-services/SKILL.delegated.claude.md +14 -26
  132. package/agent-assets/skills/external-services/SKILL.delegated.codex.md +14 -26
  133. package/agent-assets/skills/external-services/SKILL.delegated.gemini.md +14 -26
  134. package/agent-assets/skills/external-services/SKILL.md +9 -262
  135. package/agent-assets/skills/external-services/SKILL.native.claude.md +6 -7
  136. package/agent-assets/skills/external-services/SKILL.native.codex.md +8 -9
  137. package/agent-assets/skills/external-services/SKILL.native.gemini.md +5 -6
  138. package/agent-assets/skills/external-services/references/calendar-apple.md +97 -0
  139. package/agent-assets/skills/external-services/references/calendar-google.md +72 -0
  140. package/agent-assets/skills/external-services/references/calendar-outlook.md +36 -0
  141. package/agent-assets/skills/external-services/references/github.md +17 -0
  142. package/agent-assets/skills/external-services/references/obsidian.md +49 -0
  143. package/agent-assets/skills/external-services/references/skills-crud.md +27 -0
  144. package/agent-assets/skills/gmail-lifestyle/SKILL.md +151 -0
  145. package/agent-assets/skills/gmail-lifestyle/references/receipts-api.md +93 -0
  146. package/agent-assets/skills/gmail-lifestyle/references/travel-bookings-api.md +75 -0
  147. package/agent-assets/skills/mail/SKILL.delegated.claude.md +15 -6
  148. package/agent-assets/skills/mail/SKILL.delegated.codex.md +9 -5
  149. package/agent-assets/skills/mail/SKILL.delegated.gemini.md +9 -5
  150. package/agent-assets/skills/mail/SKILL.md +9 -114
  151. package/agent-assets/skills/mail/SKILL.native.claude.md +1 -1
  152. package/agent-assets/skills/mail/SKILL.native.codex.md +1 -1
  153. package/agent-assets/skills/mail/SKILL.native.gemini.md +1 -1
  154. package/agent-assets/skills/mail/references/api.md +110 -0
  155. package/agent-assets/skills/mail/references/examples.md +70 -0
  156. package/agent-assets/skills/mail/references/providers.md +8 -8
  157. package/agent-assets/skills/managed-tasks/SKILL.md +472 -0
  158. package/agent-assets/skills/managed-tasks/references/errors.md +73 -0
  159. package/agent-assets/skills/managed-tasks/references/output-path.md +75 -0
  160. package/agent-assets/skills/managed-tasks/references/recurrence-rule.md +86 -0
  161. package/agent-assets/skills/management-policy/SKILL.md +54 -125
  162. package/agent-assets/skills/management-policy/curation.json +1 -1
  163. package/agent-assets/skills/management-policy/references/policy-workflow.md +101 -0
  164. package/agent-assets/skills/management-policy/seeds/policy-file-shape.seed.json +1 -1
  165. package/agent-assets/skills/notify/SKILL.md +10 -82
  166. package/agent-assets/skills/notify/references/priority.md +65 -0
  167. package/agent-assets/skills/notion/SKILL.delegated.claude.md +2 -2
  168. package/agent-assets/skills/notion/SKILL.delegated.codex.md +2 -2
  169. package/agent-assets/skills/notion/SKILL.delegated.gemini.md +2 -2
  170. package/agent-assets/skills/notion/SKILL.md +6 -10
  171. package/agent-assets/skills/notion/SKILL.native.claude.md +11 -8
  172. package/agent-assets/skills/notion/SKILL.native.codex.md +10 -6
  173. package/agent-assets/skills/notion/SKILL.native.gemini.md +10 -6
  174. package/agent-assets/skills/observations/SKILL.md +25 -14
  175. package/agent-assets/skills/project-doc/SKILL.md +2 -6
  176. package/agent-assets/skills/project-doc/curation.json +3 -3
  177. package/agent-assets/skills/project-doc/seeds/project-shape.seed.json +7 -4
  178. package/agent-assets/skills/project-doc/seeds/slug-grammar.seed.json +3 -3
  179. package/agent-assets/skills/reading/SKILL.md +12 -2
  180. package/agent-assets/skills/reading/references/reading-taste.md +2 -2
  181. package/agent-assets/skills/roadmap/SKILL.md +43 -141
  182. package/agent-assets/skills/roadmap/curation.json +1 -1
  183. package/agent-assets/skills/roadmap/references/api.md +100 -0
  184. package/agent-assets/skills/roadmap/references/cross-check.md +80 -0
  185. package/agent-assets/skills/roadmap/references/migration.md +56 -0
  186. package/agent-assets/skills/roadmap/references/preparation-timeline.md +2 -2
  187. package/agent-assets/skills/roadmap/seeds/entry-types.seed.json +1 -1
  188. package/agent-assets/skills/schedule/SKILL.md +76 -104
  189. package/agent-assets/skills/schedule/references/batch.md +93 -0
  190. package/agent-assets/skills/schedule/references/errors.md +217 -0
  191. package/agent-assets/skills/schedule/references/model-selection.md +96 -0
  192. package/agent-assets/skills/schedule/references/recurrence-rule.md +86 -0
  193. package/agent-assets/skills/scheduled-managed-task/SKILL.md +59 -51
  194. package/agent-assets/skills/today/SKILL.md +32 -62
  195. package/agent-assets/skills/today/curation.json +3 -3
  196. package/agent-assets/skills/today/references/agent-plan-lifecycle.md +114 -0
  197. package/agent-assets/skills/today/seeds/section-shape.seed.json +1 -1
  198. package/agent-assets/skills/user-interview/SKILL.md +23 -67
  199. package/agent-assets/skills/user-interview/references/op-briefing.md +51 -0
  200. package/agent-assets/skills/user-interview/references/op-morning.md +59 -0
  201. package/agent-assets/skills/user-interview/references/sweep-and-fallback.md +9 -1
  202. package/agent-assets/skills/user-profile/SKILL.md +54 -74
  203. package/agent-assets/skills/user-profile/curation.json +2 -2
  204. package/agent-assets/skills/user-profile/references/character-preferences.md +83 -0
  205. package/agent-assets/skills/user-profile/seeds/routing-table.seed.json +8 -8
  206. package/agent-assets/skills/user-profile/seeds/topic-files.seed.json +30 -2
  207. package/agent-assets/skills/wiki/wiki-ask/SKILL.md +0 -1
  208. package/agent-assets/skills/wiki/wiki-compile/SKILL.md +4 -5
  209. package/agent-assets/skills/wiki/wiki-connect/SKILL.md +0 -1
  210. package/agent-assets/skills/wiki/wiki-graduate/SKILL.md +0 -1
  211. package/agent-assets/skills/wiki/wiki-ingest/SKILL.md +0 -1
  212. package/agent-assets/skills/wiki/wiki-lint/SKILL.md +0 -1
  213. package/agent-assets/skills/wiki/wiki-trace/SKILL.md +0 -1
  214. package/agent-assets/skills/wiki/wiki-vault-rules/SKILL.md +0 -1
  215. package/agent-assets/system-prompts/routine-fetch-window.md +78 -0
  216. package/agent-assets/system-prompts/skill-index-instruction.md +26 -0
  217. package/agent-assets/task-flows/_partials/calendar-acquire.google_calendar.md +20 -11
  218. package/agent-assets/task-flows/_partials/calendar-acquire.outlook_calendar.md +18 -9
  219. package/agent-assets/task-flows/_partials/capture-user-info.md +24 -0
  220. package/agent-assets/task-flows/_partials/confirm-subflow.md +68 -0
  221. package/agent-assets/task-flows/_partials/dm-intent.long-horizon.md +35 -0
  222. package/agent-assets/task-flows/_partials/dm-intent.project.md +391 -0
  223. package/agent-assets/task-flows/_partials/mail-acquire.gmail.md +20 -11
  224. package/agent-assets/task-flows/_partials/mail-acquire.outlook_mail.md +18 -9
  225. package/agent-assets/task-flows/_partials/notion-acquire.notion.md +26 -15
  226. package/agent-assets/task-flows/browser_task.md +84 -0
  227. package/agent-assets/task-flows/github.assigned.md +1 -1
  228. package/agent-assets/task-flows/github.pull_request.review_requested.md +2 -2
  229. package/agent-assets/task-flows/github.workflow_run.failed.md +2 -2
  230. package/agent-assets/task-flows/knowledge.import.md +15 -15
  231. package/agent-assets/task-flows/message.received.dm.md +20 -17
  232. package/agent-assets/task-flows/message.received.dm_first.md +11 -15
  233. package/agent-assets/task-flows/routine.custom.md +6 -4
  234. package/agent-assets/task-flows/routine.evening_review.md +46 -170
  235. package/agent-assets/task-flows/routine.fetch_window.md +19 -14
  236. package/agent-assets/task-flows/routine.hourly_check.md +27 -15
  237. package/agent-assets/task-flows/routine.hourly_check.triage.md +1 -1
  238. package/agent-assets/task-flows/routine.monthly_review.md +67 -25
  239. package/agent-assets/task-flows/routine.morning_routine_journal.md +135 -0
  240. package/agent-assets/task-flows/routine.morning_routine_today.md +673 -0
  241. package/agent-assets/task-flows/routine.research_cluster_update.md +35 -0
  242. package/agent-assets/task-flows/routine.research_dispatch.md +38 -0
  243. package/agent-assets/task-flows/routine.research_offer_dm.md +125 -0
  244. package/agent-assets/task-flows/routine.research_wiki_summary.md +53 -0
  245. package/agent-assets/task-flows/routine.roadmap_refresh.md +68 -23
  246. package/agent-assets/task-flows/routine.today_refresh.md +4 -4
  247. package/agent-assets/task-flows/routine.user_profile_sweep.md +19 -20
  248. package/agent-assets/task-flows/routine.weekly_review.md +370 -86
  249. package/agent-assets/task-flows/schedule.approaching.md +0 -1
  250. package/agent-assets/task-flows/scheduled.dm.md +13 -13
  251. package/agent-assets/task-flows/scheduled.task.md +9 -9
  252. package/agent-assets/task-flows/setup.initial.md +171 -251
  253. package/agent-assets/task-flows/setup.update.md +2 -2
  254. package/agent-assets/task-flows/wiki.ingest_url.md +1 -1
  255. package/agent-assets/templates/README.md +27 -20
  256. package/agent-assets/templates/_index.md +42 -26
  257. package/agent-assets/templates/_manifest.json +34 -99
  258. package/agent-assets/templates/{user → identity}/_index.md +1 -1
  259. package/agent-assets/templates/identity/expertise.md +9 -0
  260. package/agent-assets/templates/identity/goals.md +9 -0
  261. package/agent-assets/templates/identity/people.md +13 -0
  262. package/agent-assets/templates/identity/personal.md +9 -0
  263. package/agent-assets/templates/{user → identity}/profile.md +2 -2
  264. package/agent-assets/templates/identity/work.md +9 -0
  265. package/agent-assets/templates/{dossiers → knowledge/dossiers}/_index.md +2 -2
  266. package/agent-assets/templates/{projects → plans/projects}/_active.base +1 -1
  267. package/agent-assets/templates/policies/_index.md +21 -0
  268. package/agent-assets/templates/{rules → policies}/journal-export.md +1 -1
  269. package/agent-assets/templates/policies/journal-format.md +168 -0
  270. package/agent-assets/templates/{rules/policies → policies/management-captures}/_index.md +2 -2
  271. package/agent-assets/templates/{rules → policies}/management.md +3 -3
  272. package/agent-assets/templates/{rules → policies}/mcp.md +1 -1
  273. package/agent-assets/templates/{rules → policies}/redaction.md +1 -1
  274. package/agent-assets/templates/{routines → policies/routines}/_index.md +1 -1
  275. package/agent-assets/templates/{routines → policies/routines}/evening.md +2 -2
  276. package/agent-assets/templates/{routines → policies/routines}/hourly.md +1 -1
  277. package/agent-assets/templates/{routines → policies/routines}/monthly.md +2 -2
  278. package/bin/aitne.mjs +21 -5
  279. package/package.json +5 -4
  280. package/scripts/commands/doctor.mjs +63 -5
  281. package/scripts/commands/run-now.mjs +187 -0
  282. package/scripts/commands/verify.mjs +264 -0
  283. package/scripts/lib/ports.d.mts +27 -0
  284. package/scripts/lib/ports.mjs +36 -0
  285. package/scripts/lib/read-api-token.mjs +176 -0
  286. package/scripts/start.mjs +2 -1
  287. package/agent-assets/docs/features/lifestyle/travel-time.md +0 -52
  288. package/agent-assets/docs/features/routines/monthly-review.md +0 -65
  289. package/agent-assets/skills/management-task-modify/SKILL.md +0 -203
  290. package/agent-assets/skills/management-task-register/SKILL.md +0 -330
  291. package/agent-assets/skills/management-task-stop/SKILL.md +0 -166
  292. package/agent-assets/skills/receipts/SKILL.md +0 -134
  293. package/agent-assets/skills/travel/SKILL.md +0 -132
  294. package/agent-assets/skills/travel-time/SKILL.md +0 -158
  295. package/agent-assets/task-flows/routine.morning_routine.md +0 -322
  296. package/agent-assets/task-flows/routine.morning_routine_initial.md +0 -204
  297. package/agent-assets/templates/context-index.md +0 -42
  298. package/agent-assets/templates/rules/_index.md +0 -19
  299. package/agent-assets/templates/rules/journal-format.md +0 -61
  300. package/agent-assets/templates/user/expertise.md +0 -7
  301. package/agent-assets/templates/user/goals.md +0 -7
  302. package/agent-assets/templates/user/people.md +0 -7
  303. package/agent-assets/templates/user/personal.md +0 -7
  304. package/agent-assets/templates/user/work.md +0 -7
  305. /package/agent-assets/templates/{agent/journal.md → journal/agent.md} +0 -0
  306. /package/agent-assets/templates/{dossiers → knowledge/dossiers}/evening.md +0 -0
  307. /package/agent-assets/templates/{dossiers → knowledge/dossiers}/hourly.md +0 -0
  308. /package/agent-assets/templates/{dossiers → knowledge/dossiers}/monthly.md +0 -0
  309. /package/agent-assets/templates/{dossiers → knowledge/dossiers}/morning.md +0 -0
  310. /package/agent-assets/templates/{dossiers → knowledge/dossiers}/roadmap.md +0 -0
  311. /package/agent-assets/templates/{dossiers → knowledge/dossiers}/weekly.md +0 -0
  312. /package/agent-assets/templates/{projects → plans/projects}/_index.md +0 -0
  313. /package/agent-assets/templates/{roadmap.md → plans/roadmap.md} +0 -0
  314. /package/agent-assets/templates/{routines → policies/routines}/morning.md +0 -0
  315. /package/agent-assets/templates/{routines → policies/routines}/weekly.md +0 -0
  316. /package/agent-assets/templates/{agent → state}/profile-questions.md +0 -0
  317. /package/agent-assets/templates/{today.md → state/today.md} +0 -0
@@ -9,6 +9,8 @@ aliases:
9
9
  - "!cost"
10
10
  - "!report"
11
11
  - "!help"
12
+ - "!checks"
13
+ - "!research"
12
14
  - exclamation commands
13
15
  - chat commands
14
16
  category: features
@@ -16,21 +18,25 @@ summary: |
16
18
  Short owner-only commands typed in any paired DM (Slack, Telegram,
17
19
  Discord, WhatsApp, dashboard chat) that the daemon answers directly,
18
20
  with no agent backend involved and no cost. Use them to pause /
19
- resume, check spend, see recent failures, and list every command.
21
+ resume, check spend, see recent failures, manage research clusters,
22
+ and list every command.
20
23
  section: messaging
21
24
  tags:
22
25
  - core
23
26
  - messaging
24
27
  - operations
28
+ - bang-commands
25
29
  status: stable
26
30
  ask_examples:
27
31
  - How do I pause the agent from my phone?
28
32
  - What can I type in the DM to control Aitne?
29
33
  - How do I list all the commands?
30
34
  - Where do I see how much the agent spent this week?
35
+ - What did I keep refreshing today?
36
+ - How do I accept a research-cluster offer?
31
37
  locale: en-US
32
38
  created: 2026-05-12
33
- updated: 2026-05-12
39
+ updated: 2026-05-28
34
40
  keywords:
35
41
  - bang command
36
42
  - "!stop"
@@ -38,6 +44,8 @@ keywords:
38
44
  - "!cost"
39
45
  - "!report"
40
46
  - "!help"
47
+ - "!checks"
48
+ - "!research"
41
49
  - pause
42
50
  - resume
43
51
  related:
@@ -45,16 +53,26 @@ related:
45
53
  - features/messaging/pairing-and-magic-phrase
46
54
  - guides/pause-the-agent
47
55
  - features/operations/cost-tracking
56
+ - features/integrations/browser-history
48
57
  ui_anchors:
49
58
  - /settings/commands
59
+ process_keys:
60
+ - routine.research_dispatch
61
+ - routine.research_wiki_summary
62
+ - wiki.ingest_url
63
+ - wiki.compile
64
+ - wiki.ask
65
+ - wiki.lint
66
+ - wiki.trace
67
+ - wiki.connect
50
68
  ---
51
69
 
52
70
  # Bang Commands
53
71
 
54
- ## In One Sentence
55
-
56
72
  DM the agent a short word starting with `!` and the daemon answers
57
- directly — no LLM call, no cost, no session opened.
73
+ directly — no LLM call, no cost, no session opened. Use them to pause,
74
+ check spend, look at recent failures, manage research clusters, and
75
+ list every command.
58
76
 
59
77
  ## Who Can Use Them
60
78
 
@@ -65,14 +83,59 @@ Pair your messaging app first; see
65
83
 
66
84
  ## Available Commands
67
85
 
86
+ ### Lifecycle
87
+
88
+ | Command | What it does |
89
+ |---|---|
90
+ | `!help` | List every registered command — built-ins plus enabled user commands. |
91
+ | `!stop` | Pause cron-driven autonomous work (hourly check, morning / evening / weekly routines, scheduled tasks). In-flight runs are **not** aborted. |
92
+ | `!start` | Resume autonomous work after `!stop`. |
93
+ | `!close` | Close the active DM session for the current routing tuple so the next DM starts a fresh conversation. |
94
+
95
+ ### Reporting (pure DB reads, safe while paused)
96
+
68
97
  | Command | What it does |
69
98
  |---|---|
70
- | `!help` | Lists every command currently registered — built-ins plus any custom user commands. |
71
- | `!stop` | Pauses cron-driven autonomous work (hourly check, morning / evening / weekly / monthly routines, scheduled tasks). In-flight runs are **not** aborted. |
72
- | `!start` | Resumes autonomous work after `!stop`. |
73
99
  | `!cost` | Last-7-day spend across all backends. |
74
- | `!cost claude` / `!cost codex` / `!cost gemini` | Spend for a single backend. |
100
+ | `!cost claude` · `!cost codex` · `!cost gemini` · `!cost opencode` | Spend for a single backend (one row per registered backend). |
75
101
  | `!report` | Recent agent failures (last 7 days, top groups, most recent sample). |
102
+ | `!checks` | Today's top browser reload patterns (domain + first path segment). Pure read on `browser_reload_signals`; anchored on the agent-day (`dayBoundaryHour`). Empty state is the common case for a quiet day. |
103
+
104
+ ### Research clusters (browser-history)
105
+
106
+ `!research` is a prefix command that takes a subcommand. Clusters are
107
+ derived from your browser history when a topic crosses the
108
+ meaningful-visits threshold; see
109
+ [Browser History](../integrations/browser-history.md).
110
+
111
+ | Command | What it does |
112
+ |---|---|
113
+ | `!research` | List active + dormant clusters (top 12, with visits / hours / domains / status). |
114
+ | `!research <slug>` | Show full detail for one cluster. |
115
+ | `!research accept <slug>` | Accept a research-dive offer. Enqueues `routine.research_dispatch`. |
116
+ | `!research wiki <slug>` | Accept a wiki-summary offer. Enqueues `routine.research_wiki_summary`. |
117
+ | `!research decline <slug>` | Silence offers for 14 days; cluster journal keeps updating. |
118
+ | `!research mute <slug>` / `unmute <slug>` | Toggle offers off (until unmute) / restore. |
119
+ | `!research rename <slug> <new name>` | Change display name (≤ 120 chars). |
120
+ | `!research conclude <slug>` | Mark concluded; the `context/research/<slug>.md` journal is preserved. |
121
+
122
+ ### Wiki
123
+
124
+ Wiki commands accept an optional `@<workspace>` suffix
125
+ (e.g. `!compile @work`) to target a non-default workspace. See
126
+ [Wiki Commands](../wiki/commands.md) for the full reference and the
127
+ cost-gate / approval semantics.
128
+
129
+ | Command | What it does |
130
+ |---|---|
131
+ | `!wiki` | Workspace status (per-workspace counts when multiple are configured). |
132
+ | `!wiki help` | Wiki command list. |
133
+ | `!ingest <url> [url…]` | Capture URLs into the workspace's `10_raw/` layer (max 10 per batch). |
134
+ | `!compile [full] [--preview]` | Synthesise raw → wiki. `full` triggers an approval gate above the per-workspace cost threshold; `--preview` is a JS-only dry-run. |
135
+ | `!ask <question>` | Cited Q&A against the compiled wiki. Reply lands on the same channel; output saved to `30_outputs/`. |
136
+ | `!lint` | Wiki health pass — writes `90_meta/health/<date>.md`. |
137
+ | `!trace <idea>` | Chronological evolution of an idea across `10_raw` / `20_wiki` / `30_outputs`. |
138
+ | `!connect <A>, <B>` | Bridge two domains; writes `30_outputs/<date>-connect-<slug>.md`. |
76
139
 
77
140
  Custom commands added at `/settings/commands` show up in `!help`
78
141
  automatically — no restart needed.
@@ -86,49 +149,71 @@ at a glance it came from the daemon, not the agent:
86
149
  [SYSTEM · !cost · last 7d]
87
150
  Total: $1.42 (37 sessions)
88
151
 
89
- - claude: $1.10 (29 sessions)
90
- - codex: $0.32 ( 8 sessions)
91
- - gemini: $0.00 ( 0 sessions)
152
+ By backend:
153
+ - claude: $1.10 (29)
154
+ - codex: $0.32 (8)
92
155
  ```
93
156
 
94
- `!help` lists each entry with the name on its own line and the
95
- description indented:
157
+ Only backends with recorded spend appear; a quiet week shows
158
+ `No agent runs recorded with a billed cost.`
159
+
160
+ `!help` leads with a total count, then lists each entry alphabetically
161
+ with the name on its own line and the description indented:
96
162
 
97
163
  ```
98
164
  [SYSTEM · !help]
165
+ 18 commands total
99
166
 
100
167
  Built-in:
101
168
 
169
+ !ask
170
+ ask a question against the wiki (`@<workspace>` optional)
171
+
102
172
  !cost
103
- Show last-7-day Claude / Codex / Gemini spend.
173
+ Agent spend over the past 7 days.
104
174
 
105
175
  !help
106
176
  Show every registered command.
107
177
 
108
178
  !report
109
- Show recent agent failures.
179
+ Agent errors over the past 7 days.
110
180
 
111
181
  !start
112
- Resume autonomous work after !stop.
182
+ Resume autonomous work paused by !stop.
113
183
 
114
184
  !stop
115
185
  Pause cron-driven autonomous work. In-flight runs are not aborted.
116
186
  ```
117
187
 
118
188
  The `Custom:` section appears below the built-ins when you have
119
- enabled user commands at `/settings/commands`.
189
+ enabled user commands at `/settings/commands`. On a long list the reply
190
+ is trimmed for mobile with a "open the dashboard to browse the full
191
+ list" footer; the count line always survives so you can tell entries
192
+ were hidden.
120
193
 
121
194
  ## How They Behave
122
195
 
123
- - **Exact match.** `!stop`, `!cost`, `!cost claude` are recognised;
124
- `!stop now please` is not it falls through to the agent path.
196
+ - **Exact match for atomic commands** (`!stop`, `!cost`, `!checks`)
197
+ and **prefix match for parameterised ones** (`!cost claude`,
198
+ `!research accept <slug>`, `!compile @work full`). Anything
199
+ spanning newlines falls through to the agent path so a
200
+ `"!stop\nignore me"` payload cannot spoof a command.
125
201
  - **DM only.** Bangs typed into a shared channel are ignored.
126
- - **No cost.** No LLM is invoked; no `conversation_sessions` row is
127
- opened. Every invocation writes one `bang_command` row to
128
- `agent_actions` for the activity log.
202
+ - **No agent cost on built-ins.** No LLM is invoked for the
203
+ daemon-side commands; one `bang_command` row is appended to
204
+ `agent_actions` for the activity log. `!compile`, `!ingest`,
205
+ `!ask`, `!lint`, `!trace`, `!connect`, and `!research accept|wiki`
206
+ *do* enqueue agent sessions and therefore *do* cost.
129
207
  - **While paused**, any DM (bang or not) replies with the paused
130
- notice; only `!start`, `!cost`, `!report`, and `!help` continue to
131
- run.
208
+ notice; only commands that opt into `runsWhilePaused` continue to
209
+ run: `!stop`, `!start`, `!close`, `!cost` (and `!cost <backend>`),
210
+ `!report`, `!help`, `!checks`, `!wiki` (status), and `!wiki help`.
211
+ Every other command — including **all** `!research` subcommands and
212
+ the LLM-dispatching wiki commands (`!ingest`, `!compile`, `!ask`,
213
+ `!lint`, `!trace`, `!connect`) — replies with a command-aware
214
+ "unavailable while paused" notice instead of executing. Pause-gating
215
+ is per *command*, so `!research` is blocked as a whole even for its
216
+ read-only subcommands.
132
217
  - **Replies land where the command did** — same platform, same
133
218
  channel, same thread.
134
219
 
@@ -149,9 +234,9 @@ window version.
149
234
  - **The reply lists fewer commands than you expect.** `!help` only
150
235
  lists *enabled* user commands. Toggle the row on at
151
236
  `/settings/commands`.
152
- - **`!cost foo` says "unknown command".** Only `claude`, `codex`,
153
- `gemini` are valid backend arguments today. Plain `!cost` (no
154
- argument) covers all three.
237
+ - **`!cost foo` says "unknown command".** Valid backend arguments
238
+ match the registered backends `claude`, `codex`, `gemini`,
239
+ `opencode`. Plain `!cost` (no argument) covers all of them.
155
240
 
156
241
  ## Related
157
242
 
@@ -159,3 +244,5 @@ window version.
159
244
  - [Pairing & Magic Phrase](pairing-and-magic-phrase.md)
160
245
  - [Pause the Agent](../../guides/pause-the-agent.md)
161
246
  - [Cost Tracking](../operations/cost-tracking.md)
247
+ - [Browser History](../integrations/browser-history.md) — source of
248
+ `!checks` and the `!research` clusters.
@@ -26,17 +26,29 @@ ask_examples:
26
26
  - Why are my dashboard chat replies different from my Telegram replies?
27
27
  locale: en-US
28
28
  created: 2026-04-25
29
- updated: 2026-04-25
29
+ updated: 2026-05-28
30
30
  keywords:
31
31
  - chat
32
32
  - dashboard
33
33
  - in-browser
34
+ - sse
35
+ - session
34
36
  related:
35
37
  - features/messaging/overview
36
38
  - concepts/backends-and-tiers
39
+ - concepts/process-keys
37
40
  - features/operations/activity-and-conversations
41
+ process_keys:
42
+ - dashboard.chat
43
+ config_keys:
44
+ - sessionTimeoutDashboardMinutes
45
+ api_endpoints:
46
+ - POST /api/chat/messages
47
+ - GET /api/chat/stream
38
48
  ui_anchors:
39
49
  - /chat
50
+ - /conversations
51
+ - /settings/models
40
52
  ---
41
53
 
42
54
  # Dashboard Chat
@@ -48,46 +60,56 @@ conversational surface separate from any paired messaging app.
48
60
 
49
61
  ## What It Does
50
62
 
51
- - **Real-time** message stream over SSE.
63
+ - **Real-time** message stream over SSE — the same conversational
64
+ experience as a paired DM, but in the browser.
52
65
  - **Tool progress** rendered inline (which tool, which file, which
53
66
  endpoint) so you can watch the agent work.
54
67
  - **Session history** persisted to SQLite (`scope='dashboard_chat'`)
55
- and visible from Activity → Conversations.
68
+ and re-openable from Conversations.
56
69
  - **Independent backend binding** — `dashboard.chat` is its own
57
70
  ProcessKey, so the model used here can differ from the one your
58
- Telegram DM uses.
71
+ Telegram (or Slack/Discord) DM uses.
59
72
 
60
- ## When It Runs / How It Is Triggered
73
+ ## How It Is Triggered
61
74
 
62
- Whenever you press send. The page connects to `POST /api/chat/messages`
63
- to enqueue and `GET /api/chat/stream` to listen.
75
+ Whenever you press send. The page POSTs to `POST /api/chat/messages`
76
+ to enqueue your message, then listens on `GET /api/chat/stream` (SSE)
77
+ for the streamed reply and inline tool calls. Every send and reply is
78
+ persisted under the chat session.
64
79
 
65
- ## What It Outputs
66
-
67
- - Inline tool calls and replies.
68
- - Persisted messages under the chat session.
80
+ Like a DM, `dashboard.chat` is a **reactive** ProcessKey: it runs on
81
+ demand when you send, never on a schedule. Its default tier is
82
+ **medium** (Claude Sonnet 4.6 by default) — the same tier as
83
+ `message.dm`.
69
84
 
70
85
  ## Where in the Dashboard
71
86
 
72
87
  - **Chat (`/chat`)** is the live surface.
73
- - **Conversations** lets you re-open a past session.
88
+ - **Conversations (`/conversations`)** lists past sessions; open one to
89
+ re-read it.
74
90
 
75
91
  ## Configuration
76
92
 
77
- - **Settings → Models** lets you pick which backend `dashboard.chat`
78
- binds to (default: same as `message.dm`, but operator-overridable).
79
- - **Settings Models Session Timeouts Dashboard Timeout** is the
80
- per-session wall-clock cap for `/chat`.
93
+ - **Settings → Models** (`/settings/models`) lets you pick which backend
94
+ `dashboard.chat` binds to. It defaults to the same medium-tier preset
95
+ as `message.dm`, but you can override it independently give `/chat`
96
+ a faster model for quick questions, or a heavier one for deep work.
97
+ - **Settings → Models → Session Timeouts → Dashboard Timeout**
98
+ (`sessionTimeoutDashboardMinutes`, default **120** minutes) is the
99
+ per-session wall-clock cap for `/chat`. After it lapses, the next
100
+ message starts a fresh session.
81
101
 
82
102
  ## When Something Goes Wrong
83
103
 
84
- - A **stalled session** with no progress: check Activity for the
85
- session row — it may be waiting for an SSE event the daemon
86
- dropped.
87
- - A **chat that uses the wrong model**: check `/settings/models` —
88
- `dashboard.chat`'s row is independent from `message.dm`'s.
104
+ - **A stalled session with no progress** check the session row under
105
+ Conversations; it may be waiting for an SSE event the daemon dropped.
106
+ Reloading `/chat` reconnects the stream.
107
+ - **A chat that uses the wrong model** check `/settings/models`.
108
+ `dashboard.chat`'s row is independent from `message.dm`'s, so an
109
+ override there is the usual cause.
89
110
 
90
111
  ## Related
91
112
 
92
113
  - [Messaging Overview](overview.md)
93
114
  - [Backends and Tiers](../../concepts/backends-and-tiers.md)
115
+ - [Process Keys](../../concepts/process-keys.md)
@@ -3,6 +3,10 @@ schema_version: 1
3
3
  slug: features/messaging/discord
4
4
  title: Discord
5
5
  id: discord
6
+ aliases:
7
+ - discord bot
8
+ - discord adapter
9
+ - discord pairing
6
10
  category: features
7
11
  summary: |
8
12
  Pair Discord by creating a bot in the developer portal, pasting the
@@ -11,13 +15,26 @@ summary: |
11
15
  section: messaging
12
16
  tags:
13
17
  - messaging
14
- - integration
18
+ - integrations
19
+ - pairing
15
20
  status: stable
16
21
  ask_examples:
17
22
  - How do I pair Discord?
23
+ - Why won't my Discord bot reply to DMs?
24
+ - Does the agent respond to mentions in Discord servers?
25
+ ui_anchors:
26
+ - /connections/messaging
18
27
  locale: en-US
19
28
  created: 2026-04-25
20
- updated: 2026-04-25
29
+ updated: 2026-05-28
30
+ keywords:
31
+ - discord
32
+ - bot token
33
+ - DM
34
+ - owner channel
35
+ - messaging adapter
36
+ - magic phrase
37
+ - message content intent
21
38
  related:
22
39
  - features/messaging/overview
23
40
  - features/messaging/pairing-and-magic-phrase
@@ -30,21 +47,46 @@ related:
30
47
  A Discord bot becomes the agent's surface; pair via DM after
31
48
  installing the bot in the developer portal.
32
49
 
50
+ ## How to Set Up
51
+
52
+ 1. Create an application and bot at the
53
+ [Discord Developer Portal](https://discord.com/developers).
54
+ 2. Under **Bot** settings, copy the bot token.
55
+ 3. In the bot's **Privileged Gateway Intents**, enable the
56
+ **Message Content Intent**. This is required — the agent cannot read
57
+ DM or mention text without it.
58
+ 4. Invite the bot to any servers where you want mentions to work.
59
+ 5. Paste the token under **Connections → Messaging → Discord**.
60
+ 6. DM the magic phrase from your own Discord account to complete
61
+ pairing.
62
+
33
63
  ## What It Does
34
64
 
35
65
  - Listens for DMs from the paired owner.
36
66
  - Listens for mentions in shared servers.
37
67
  - Sends notifications back via DM.
38
68
 
69
+ ## Configuration
70
+
71
+ | Field | Notes |
72
+ | --- | --- |
73
+ | Bot Token | From the Discord Developer Portal (Bot settings). |
74
+ | Owner Channel | Auto-set on successful magic-phrase pairing. |
75
+
39
76
  ## Where in the Dashboard
40
77
 
41
78
  - **Connections → Messaging → Discord**.
42
79
 
43
80
  ## When Something Goes Wrong
44
81
 
45
- - DMs disabled in the operator's privacy settings: enable "Allow
46
- direct messages from server members".
82
+ - Bot connects but never responds to DMs/mentions: confirm the
83
+ **Message Content Intent** is enabled under the bot's Privileged
84
+ Gateway Intents in the developer portal.
85
+ - Bot cannot DM you: in Discord, open the server where the bot lives →
86
+ **Privacy Settings** and enable "Allow direct messages from server
87
+ members". Discord blocks bot DMs to users who have this off.
47
88
 
48
89
  ## Related
49
90
 
50
91
  - [Messaging Overview](overview.md)
92
+ - [Pairing & Magic Phrase](pairing-and-magic-phrase.md)
@@ -18,14 +18,18 @@ section: messaging
18
18
  tags:
19
19
  - core
20
20
  - messaging
21
+ - integrations
22
+ - pairing
23
+ - notifications
21
24
  status: stable
22
25
  ask_examples:
23
26
  - How do I pair my phone with the agent?
24
27
  - Which messaging apps does the agent support?
25
28
  - Why didn't I get a notification?
29
+ - Can I send the agent a voice note?
26
30
  locale: en-US
27
31
  created: 2026-04-25
28
- updated: 2026-05-04
32
+ updated: 2026-05-28
29
33
  keywords:
30
34
  - messaging
31
35
  - dm
@@ -43,7 +47,6 @@ related:
43
47
  - features/messaging/discord
44
48
  - features/messaging/whatsapp
45
49
  - features/messaging/dashboard-chat
46
- - features/messaging/voice-attachments
47
50
  - features/messaging/bang-commands
48
51
  - features/operations/notifications
49
52
  - features/operations/quiet-hours
@@ -52,33 +55,49 @@ ui_anchors:
52
55
  - /connections/messaging
53
56
  - /settings/connections
54
57
  - /settings/commands
58
+ - /settings/schedule
59
+ process_keys:
60
+ - message.dm
61
+ - message.mention
62
+ config_keys:
63
+ - primaryPlatform
64
+ - quietHoursStart
65
+ - quietHoursEnd
55
66
  ---
56
67
 
57
68
  # Messaging Overview
58
69
 
59
- ## In One Sentence
60
-
61
- Aitne treats DMs from a paired messaging app as its primary
62
- reactive surface you message it, it answers; it messages you when a
63
- notification fires.
70
+ Aitne treats DMs from a paired messaging app as its primary reactive
71
+ surface — you message it, it answers; it messages you when a
72
+ notification fires. Voice notes are transcribed locally with Whisper
73
+ so you can talk to the agent the same way you'd type.
64
74
 
65
75
  ## What It Does
66
76
 
67
77
  - **Reactive DMs**: the agent answers every direct message you send.
68
- - **Mentions**: in shared channels, @-mentioning the agent answers
69
- the same way (group chat is filtered out by design — DMs only).
78
+ - **@-mentions (Slack only)**: @-mentioning the agent inside a shared
79
+ channel routes to the `message.mention` ProcessKey and is answered
80
+ the same way as a DM. Telegram, Discord, and WhatsApp drop all
81
+ non-DM traffic (no group support).
70
82
  - **Outbound notifications**: routines and observations fire alerts
71
83
  back through the same channel.
72
84
  - **Voice attachments**: when the platform attaches audio (Telegram
73
85
  voice notes, WhatsApp voice messages, etc.), the daemon transcribes
74
- it locally with Whisper before handing the turn to the agent. See
75
- [Voice Attachments](voice-attachments.md).
86
+ it locally with Whisper before handing the turn to the agent.
87
+ Transcription runs entirely on your machine — no audio is shipped
88
+ to a cloud API. Tune it with the `PA_VOICE_TRANSCRIPTION_*` env
89
+ vars: `ENABLED`, `MODEL`, `LANGUAGE`, `PRIMARY_LANGUAGE`, and
90
+ `MAX_DURATION_SEC`.
76
91
  - **Magic-phrase pairing**: the operator types a one-time phrase to
77
92
  bind their account to the agent (anti-impersonation).
78
93
 
79
- Aitne is **single-owner** by design. Any DM that does not
80
- match a paired owner channel is dropped (defense in depth — the
81
- adapter and the dispatcher both check).
94
+ ## Single-Owner by Design
95
+
96
+ Aitne serves exactly one owner. Any message that does not come from a
97
+ paired owner channel is dropped — group chats, multi-user Slack DMs
98
+ (`mpim`), and unrecognized senders never reach the agent. This is
99
+ defense in depth: both the messaging adapter and the dispatcher check
100
+ the owner channel independently.
82
101
 
83
102
  ## When It Runs / How It Is Triggered
84
103
 
@@ -103,21 +122,23 @@ adapter and the dispatcher both check).
103
122
  ## Configuration
104
123
 
105
124
  - Per-app: bot token / OAuth, owner channel, optional default channel.
106
- - Global: `primaryPlatform` (the fallback when multiple apps are paired).
125
+ - Global: `primaryPlatform` (default `slack`) the platform the agent
126
+ prefers for outbound notifications when more than one app is paired.
127
+ - Outbound rate limits and quiet hours live on `/settings/schedule`
128
+ (see [Quiet Hours](../operations/quiet-hours.md)).
107
129
 
108
130
  ## When Something Goes Wrong
109
131
 
110
132
  - An **un-paired DM**: the agent ignores it. Pair the app from
111
- `/connections/messaging` first.
133
+ `/connections/messaging` first (see
134
+ [Pairing & Magic Phrase](pairing-and-magic-phrase.md)).
112
135
  - A **notification you expected but did not get**: check quiet hours
113
- on `/settings/schedule`.
136
+ and rate limits on `/settings/schedule`.
114
137
 
115
138
  ## Related
116
139
 
117
140
  - [Pairing & Magic Phrase](pairing-and-magic-phrase.md)
118
141
  - [Bang Commands](bang-commands.md) — `!stop` / `!start` / `!cost` /
119
142
  `!report` / `!help` for mobile-first daemon control.
120
- - [Voice Attachments](voice-attachments.md) — local Whisper
121
- transcription for inbound audio.
122
143
  - [Dashboard Chat](dashboard-chat.md) — the in-browser equivalent.
123
144
  - [Notifications](../operations/notifications.md)