@aitne-sh/aitne 0.1.11 → 0.1.13

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 (151) hide show
  1. package/README.md +4 -0
  2. package/agent-assets/agent-profiles/background-task.md +8 -1
  3. package/agent-assets/agent-profiles/routine-fetch-window.md +11 -0
  4. package/agent-assets/agents/evening-review/agent.md +6 -2
  5. package/agent-assets/agents/lesson-maintenance/agent.md +56 -0
  6. package/agent-assets/agents/morning-routine/agent.md +10 -6
  7. package/agent-assets/agents/source-librarian/agent.md +51 -0
  8. package/agent-assets/docs/concepts/agent-day.md +15 -15
  9. package/agent-assets/docs/concepts/auth-health.md +10 -7
  10. package/agent-assets/docs/concepts/backends-and-tiers.md +34 -23
  11. package/agent-assets/docs/concepts/costs-and-quotas.md +10 -10
  12. package/agent-assets/docs/concepts/delegated-mode.md +18 -18
  13. package/agent-assets/docs/concepts/memory-model.md +25 -24
  14. package/agent-assets/docs/concepts/observations.md +27 -19
  15. package/agent-assets/docs/concepts/process-keys.md +25 -26
  16. package/agent-assets/docs/concepts/routines.md +18 -17
  17. package/agent-assets/docs/concepts/safety-and-execution.md +20 -17
  18. package/agent-assets/docs/concepts/safety-model.md +16 -15
  19. package/agent-assets/docs/concepts/skills.md +7 -4
  20. package/agent-assets/docs/features/integrations/browser-history.md +52 -47
  21. package/agent-assets/docs/features/integrations/calendar.md +7 -7
  22. package/agent-assets/docs/features/integrations/git.md +15 -13
  23. package/agent-assets/docs/features/integrations/github.md +12 -10
  24. package/agent-assets/docs/features/integrations/mail.md +47 -45
  25. package/agent-assets/docs/features/integrations/notion.md +15 -11
  26. package/agent-assets/docs/features/integrations/obsidian.md +27 -23
  27. package/agent-assets/docs/features/lifestyle/git.md +7 -8
  28. package/agent-assets/docs/features/lifestyle/reading.md +11 -8
  29. package/agent-assets/docs/features/lifestyle/receipts.md +21 -22
  30. package/agent-assets/docs/features/lifestyle/travel-bookings.md +9 -9
  31. package/agent-assets/docs/features/memory-files/agent-journal.md +12 -10
  32. package/agent-assets/docs/features/memory-files/agent-lessons.md +46 -21
  33. package/agent-assets/docs/features/memory-files/projects.md +13 -14
  34. package/agent-assets/docs/features/memory-files/roadmap.md +16 -15
  35. package/agent-assets/docs/features/memory-files/schedule.md +10 -10
  36. package/agent-assets/docs/features/memory-files/today.md +18 -18
  37. package/agent-assets/docs/features/memory-files/user-profile.md +17 -17
  38. package/agent-assets/docs/features/messaging/bang-commands.md +15 -15
  39. package/agent-assets/docs/features/messaging/dashboard-chat.md +8 -7
  40. package/agent-assets/docs/features/messaging/discord.md +7 -5
  41. package/agent-assets/docs/features/messaging/overview.md +14 -14
  42. package/agent-assets/docs/features/messaging/pairing-and-magic-phrase.md +12 -12
  43. package/agent-assets/docs/features/messaging/slack.md +9 -8
  44. package/agent-assets/docs/features/messaging/telegram.md +7 -7
  45. package/agent-assets/docs/features/messaging/whatsapp.md +6 -6
  46. package/agent-assets/docs/features/operations/activity-and-conversations.md +9 -9
  47. package/agent-assets/docs/features/operations/approvals.md +13 -12
  48. package/agent-assets/docs/features/operations/backend-routing.md +38 -37
  49. package/agent-assets/docs/features/operations/browser-tasks.md +63 -57
  50. package/agent-assets/docs/features/operations/cost-tracking.md +5 -5
  51. package/agent-assets/docs/features/operations/managed-chromium.md +23 -22
  52. package/agent-assets/docs/features/operations/notifications.md +15 -15
  53. package/agent-assets/docs/features/operations/quiet-hours.md +14 -15
  54. package/agent-assets/docs/features/operations/schedule-approaching.md +16 -14
  55. package/agent-assets/docs/features/routines/activity-scan.md +14 -11
  56. package/agent-assets/docs/features/routines/custom-routines.md +9 -7
  57. package/agent-assets/docs/features/routines/evening-review.md +6 -7
  58. package/agent-assets/docs/features/routines/morning-routine.md +23 -22
  59. package/agent-assets/docs/features/routines/weekly-review.md +57 -51
  60. package/agent-assets/docs/features/wiki/commands.md +28 -22
  61. package/agent-assets/docs/features/wiki/cost-and-approval.md +28 -23
  62. package/agent-assets/docs/features/wiki/dashboard.md +22 -24
  63. package/agent-assets/docs/features/wiki/overview.md +17 -25
  64. package/agent-assets/docs/features/wiki/search.md +15 -17
  65. package/agent-assets/docs/features/wiki/workspaces.md +55 -56
  66. package/agent-assets/docs/getting-started/01-what-is-this.md +4 -5
  67. package/agent-assets/docs/getting-started/02-first-steps.md +12 -13
  68. package/agent-assets/docs/getting-started/03-what-can-this-do.md +7 -7
  69. package/agent-assets/docs/getting-started/04-first-day.md +4 -5
  70. package/agent-assets/docs/glossary.md +21 -19
  71. package/agent-assets/docs/guides/add-a-custom-routine.md +17 -12
  72. package/agent-assets/docs/guides/backup-and-restore.md +19 -16
  73. package/agent-assets/docs/guides/budget-and-cost-for-wiki.md +57 -62
  74. package/agent-assets/docs/guides/build-your-wiki.md +11 -12
  75. package/agent-assets/docs/guides/change-which-model-handles-x.md +30 -28
  76. package/agent-assets/docs/guides/connect-a-new-mail-account.md +30 -29
  77. package/agent-assets/docs/guides/explore-with-trace-and-connect.md +30 -32
  78. package/agent-assets/docs/guides/import-knowledge-file.md +9 -10
  79. package/agent-assets/docs/guides/install-and-run.md +9 -10
  80. package/agent-assets/docs/guides/maintain-wiki-health.md +10 -10
  81. package/agent-assets/docs/guides/migrate-machines.md +16 -14
  82. package/agent-assets/docs/guides/multiple-wikis-for-multiple-domains.md +12 -13
  83. package/agent-assets/docs/guides/pause-the-agent.md +25 -25
  84. package/agent-assets/docs/guides/reinstall-cleanly.md +13 -12
  85. package/agent-assets/docs/guides/setup-wizard.md +10 -12
  86. package/agent-assets/docs/guides/switch-default-backend.md +9 -9
  87. package/agent-assets/docs/guides/use-an-existing-obsidian-vault.md +9 -11
  88. package/agent-assets/docs/pages/activity.md +76 -0
  89. package/agent-assets/docs/pages/agents.md +78 -0
  90. package/agent-assets/docs/pages/analytics.md +70 -0
  91. package/agent-assets/docs/pages/browser.md +73 -0
  92. package/agent-assets/docs/pages/chat.md +67 -0
  93. package/agent-assets/docs/pages/connections.md +78 -0
  94. package/agent-assets/docs/pages/git.md +73 -0
  95. package/agent-assets/docs/pages/knowledge.md +75 -0
  96. package/agent-assets/docs/pages/overview.md +90 -0
  97. package/agent-assets/docs/pages/reading.md +65 -0
  98. package/agent-assets/docs/pages/settings.md +77 -0
  99. package/agent-assets/docs/pages/tasks.md +74 -0
  100. package/agent-assets/docs/pages/wiki.md +73 -0
  101. package/agent-assets/docs/reference/api.md +18 -17
  102. package/agent-assets/docs/reference/cli-commands.md +13 -10
  103. package/agent-assets/docs/reference/config.md +40 -35
  104. package/agent-assets/docs/reference/disallowed-tools.md +18 -17
  105. package/agent-assets/docs/reference/keyboard-shortcuts.md +6 -8
  106. package/agent-assets/docs/reference/knowledge-layout.md +10 -10
  107. package/agent-assets/docs/reference/process-keys.md +20 -22
  108. package/agent-assets/docs/reference/skills.md +18 -16
  109. package/agent-assets/docs/troubleshooting/auth-failed.md +13 -11
  110. package/agent-assets/docs/troubleshooting/dashboard-shows-degraded.md +10 -10
  111. package/agent-assets/docs/troubleshooting/fallback-keeps-firing.md +26 -24
  112. package/agent-assets/docs/troubleshooting/messaging-not-pairing.md +8 -9
  113. package/agent-assets/docs/troubleshooting/morning-routine-didnt-run.md +19 -18
  114. package/agent-assets/docs/troubleshooting/observation-not-detected.md +14 -15
  115. package/agent-assets/docs/troubleshooting/quota-exhausted.md +28 -26
  116. package/agent-assets/docs/troubleshooting/wiki-ingest-full-blocked.md +35 -34
  117. package/agent-assets/docs/troubleshooting/wiki-write-failed.md +21 -24
  118. package/agent-assets/playbooks/markdown-note.md +43 -0
  119. package/agent-assets/playbooks/monitoring.md +29 -0
  120. package/agent-assets/playbooks/research.md +47 -0
  121. package/agent-assets/skills/agent-create/SKILL.md +71 -32
  122. package/agent-assets/skills/agent-create/references/prompt-frame-extended.md +132 -0
  123. package/agent-assets/skills/agent-create/references/prompt-frame.md +125 -0
  124. package/agent-assets/skills/background-task/SKILL.md +13 -8
  125. package/agent-assets/skills/background-task-reply/SKILL.md +2 -2
  126. package/agent-assets/skills/board/SKILL.md +92 -0
  127. package/agent-assets/skills/browser-history/SKILL.md +3 -3
  128. package/agent-assets/skills/browser-history-respond/SKILL.md +3 -3
  129. package/agent-assets/skills/browser-task/SKILL.md +4 -2
  130. package/agent-assets/skills/context/seeds/file-responsibilities.seed.json +2 -1
  131. package/agent-assets/skills/schedule/SKILL.md +21 -18
  132. package/agent-assets/skills/schedule/references/batch.md +1 -1
  133. package/agent-assets/skills/schedule/references/model-selection.md +1 -1
  134. package/agent-assets/skills/schedule/references/prompt-frame.md +125 -0
  135. package/agent-assets/skills/sources/SKILL.md +68 -0
  136. package/agent-assets/skills/sources/curation.json +21 -0
  137. package/agent-assets/skills/sources/seeds/filing-rules.seed.json +25 -0
  138. package/agent-assets/skills/sources/seeds/source-collections.seed.json +20 -0
  139. package/agent-assets/skills/task/SKILL.md +82 -0
  140. package/agent-assets/task-flows/background_task.md +29 -3
  141. package/agent-assets/task-flows/message.received.dm.md +1 -1
  142. package/agent-assets/task-flows/routine.activity_scan.md +17 -2
  143. package/agent-assets/task-flows/routine.evening_review.md +72 -11
  144. package/agent-assets/task-flows/routine.fetch_window.md +21 -0
  145. package/agent-assets/task-flows/routine.monthly_review.md +3 -1
  146. package/agent-assets/task-flows/routine.morning_routine_today.md +26 -7
  147. package/agent-assets/task-flows/routine.source_maintenance.md +50 -0
  148. package/agent-assets/task-flows/scheduled.dm.md +29 -16
  149. package/agent-assets/templates/_manifest.json +1 -0
  150. package/agent-assets/templates/knowledge/sources/_index.md +19 -0
  151. package/package.json +4 -4
@@ -17,7 +17,6 @@ summary: |
17
17
  use an app password.
18
18
  section: connect-a-new-mail-account
19
19
  tags:
20
- - guide
21
20
  - mail
22
21
  - integrations
23
22
  status: stable
@@ -27,7 +26,7 @@ ask_examples:
27
26
  - How do I connect an Outlook mailbox?
28
27
  locale: en-US
29
28
  created: 2026-04-25
30
- updated: 2026-06-07
29
+ updated: 2026-07-01
31
30
  keywords:
32
31
  - mail
33
32
  - imap
@@ -62,17 +61,17 @@ and search it.
62
61
 
63
62
  ## Supported providers
64
63
 
65
- The mail registry recognizes exactly four provider kinds — `gmail`,
66
- `outlook`, `yahoo`, `icloud`. It deliberately stops at hosted
67
- providers, so there is no separate "generic IMAP server" kind. Each
68
- kind authenticates differently:
64
+ The mail registry supports exactly four provider kinds — `gmail`,
65
+ `outlook`, `yahoo`, `icloud`. It sticks to these hosted providers on
66
+ purpose, so there is no separate "generic IMAP server" kind. Each kind
67
+ signs in differently:
69
68
 
70
69
  | Provider | How it connects |
71
70
  |---|---|
72
- | **Gmail** | Rides the primary Google sign-in (`/config/google-auth`). Extra Gmail accounts beyond the primary identity are not implemented yet. |
73
- | **Outlook** | OAuth a browser loopback flow, with a device-code fallback for headless machines. |
74
- | **Yahoo** | App password (IMAP). |
75
- | **iCloud** | App password (IMAP). |
71
+ | **Gmail** | Uses the same primary Google sign-in you set up for the app (`/config/google-auth`). Adding extra Gmail accounts beyond that main Google identity isn't supported yet. |
72
+ | **Outlook** | OAuth (a browser sign-in flow). A headless machine — one with no browser, such as a server you reach over SSH — falls back to a device code you type in instead. |
73
+ | **Yahoo** | App password (connects over IMAP). |
74
+ | **iCloud** | App password (connects over IMAP). |
76
75
 
77
76
  ## Prerequisites
78
77
 
@@ -87,39 +86,41 @@ kind authenticates differently:
87
86
  2. Click "Add account" and pick the provider kind.
88
87
  3. Authenticate for that kind:
89
88
  - **Gmail** — connect the primary Google account from the setup or
90
- connections flow (`/config/google-auth`). It then appears on the
91
- unified mail surface automatically; you do not add it as a
92
- separate mail account.
89
+ connections flow (`/config/google-auth`). It then shows up in your
90
+ mail view automatically; you do not add it as a separate mail
91
+ account.
93
92
  - **Outlook** — step through the OAuth browser flow. On a headless
94
- machine (SSH / WSL), use the device-code fallback, which prints a
95
- code to enter at a verification URL.
93
+ machine (one you reach over SSH or WSL, with no browser of its
94
+ own), use the device-code fallback, which shows a code to type in
95
+ at a verification URL.
96
96
  - **Yahoo / iCloud** — paste the email address and the app password.
97
- 4. Save. Registration succeeds regardless of the enabled-providers
98
- setting (`enabledMailProviders`); the account goes live only when
99
- you flip its **Enable** toggle on the mail card.
100
- 5. The account is picked up on the next mail poll tick (default every
101
- 180 seconds, configurable via `mailPollIntervalSeconds`).
97
+ 4. Save. The account saves whether or not its provider is turned on in
98
+ the enabled-providers setting (`enabledMailProviders`); it goes live
99
+ only when you flip its **Enable** toggle on the mail card.
100
+ 5. The agent picks up the account on the next mail poll (by default
101
+ every 180 seconds, which you can change with
102
+ `mailPollIntervalSeconds`).
102
103
 
103
104
  ## Verification
104
105
 
105
- - The account row turns healthy on the auth-health card.
106
+ - The account row turns healthy (green) on the auth-health card.
106
107
  - The mail count updates on `/connections/mail`.
107
108
 
108
109
  ## If It Fails
109
110
 
110
- - **Outlook OAuth never returns** — the loopback flow binds an
111
- ephemeral port on `127.0.0.1`, so a fixed-port redirect mismatch is
112
- not the cause. Confirm the browser actually opened and completed the
113
- redirect; on a headless host switch to the device-code flow instead.
111
+ - **Outlook OAuth never returns** — the sign-in flow opens a temporary
112
+ local port on `127.0.0.1`, so a fixed-port redirect mismatch isn't
113
+ the cause. Check that the browser actually opened and finished the
114
+ redirect; on a headless host, switch to the device-code flow instead.
114
115
  - **Outlook add returns "client config missing"** — set the Outlook
115
116
  client config (`PUT /api/config/mail/outlook/client-config`) before
116
- adding the account.
117
+ you add the account.
117
118
  - **Yahoo / iCloud login rejected** — re-check the address and the app
118
- password (not your normal account password); regenerate the app
119
+ password (not your normal account password); generate a fresh app
119
120
  password if it still fails.
120
121
  - **Adding a second Gmail account fails** — only the primary Google
121
- identity is supported today; additional Gmail accounts are not yet
122
- implemented.
122
+ identity is supported today; extra Gmail accounts aren't available
123
+ yet.
123
124
 
124
125
  ## Related
125
126
 
@@ -16,10 +16,7 @@ summary: |
16
16
  <b>` to find bridges between two domains.
17
17
  section: guides
18
18
  tags:
19
- - guides
20
19
  - wiki
21
- - exploration
22
- - bang-commands
23
20
  status: stable
24
21
  ask_examples:
25
22
  - How do I trace an idea across the wiki?
@@ -30,7 +27,7 @@ ask_examples:
30
27
  - How do I run !trace against a non-default wiki workspace?
31
28
  locale: en-US
32
29
  created: 2026-05-12
33
- updated: 2026-06-07
30
+ updated: 2026-07-01
34
31
  keywords:
35
32
  - "!trace"
36
33
  - "!connect"
@@ -55,35 +52,36 @@ ui_anchors:
55
52
 
56
53
  # Explore Your Wiki with `!trace` and `!connect`
57
54
 
58
- `!trace` and `!connect` are the two wiki exploration commands. Both
59
- produce a one-off output document in `30_outputs/` and never touch
60
- your raw or wiki notes. Think of them as cited essays written from
61
- what your wiki actually contains.
55
+ `!trace` and `!connect` are the two wiki exploration commands. Each
56
+ one writes a single new document to `30_outputs/` and never changes
57
+ your raw or wiki notes. Think of them as short, cited essays built
58
+ only from what your wiki already contains.
62
59
 
63
- Both run as owner-DM bang commands. Both also accept an optional
64
- leading `@<workspace>` token to target a non-default wiki workspace
65
- for example `!trace @research formal methods` or
66
- `!connect @research category theory, distributed systems`. Omit the
67
- token and the command runs against your default workspace.
60
+ You send both as bang commands (a message that starts with `!`) in a
61
+ direct message to the agent. Both also accept an optional leading
62
+ `@<workspace>` token to point at a wiki workspace other than your
63
+ default — for example `!trace @research formal methods` or
64
+ `!connect @research category theory, distributed systems`. Leave the
65
+ token off and the command runs against your default workspace.
68
66
 
69
67
  ## `!trace <topic>` — Time-Based Exploration
70
68
 
71
69
  Use `!trace` when you want to see **how thinking about a topic has
72
- evolved**. The wiki agent searches every layer, orders the matches
73
- chronologically (preferring dates asserted in the content over
74
- file mtimes), and groups them into two-to-five phases of stable
75
- framing.
70
+ evolved**. The wiki agent searches every layer, puts the matches in
71
+ time order (preferring dates written inside a note over the file's
72
+ last-modified time), and groups them into two-to-five phases, each
73
+ holding a stretch where the framing stayed roughly the same.
76
74
 
77
75
  ```
78
76
  !trace quantum computing
79
77
  !trace formal methods in distributed systems
80
78
  ```
81
79
 
82
- The topic is free-form prose. The skill canonicalises against
83
- `90_meta/taxonomy.md` before deriving the output slug, so
84
- `!trace quantum computing` and `!trace quantum-computing` produce
85
- the same output filename if `quantum-computing` is your canonical
86
- topic.
80
+ The topic is free-form prose. Before it builds the output filename,
81
+ the skill maps your wording to its standard form using
82
+ `90_meta/taxonomy.md`, so `!trace quantum computing` and
83
+ `!trace quantum-computing` produce the same filename when
84
+ `quantum-computing` is your canonical topic.
87
85
 
88
86
  ### Output
89
87
 
@@ -117,9 +115,9 @@ says so directly. No padding, no speculation.
117
115
  Use `!connect` to find honest overlaps between two domains in
118
116
  your wiki. The agent surfaces four kinds of bridges:
119
117
 
120
- 1. **Shared terminology** — terms that mean the same (or
121
- recognisably different) things in each domain, disambiguated
122
- against `90_meta/taxonomy.md`.
118
+ 1. **Shared terminology** — terms that mean the same (or clearly
119
+ different) things in each domain, sorted out against
120
+ `90_meta/taxonomy.md`.
123
121
  2. **Common references** — the same URL, author, or wiki note
124
122
  linked from both sides.
125
123
  3. **Structural analogies** — recurring patterns of reasoning or
@@ -153,16 +151,16 @@ The output lands at:
153
151
  ```
154
152
 
155
153
  The double-hyphen (`--`) separates the two canonical slugs in the
156
- filename. Each report cites bridges with at least one path from
157
- each side — a one-sided match becomes a bridging candidate, not a
158
- bridge.
154
+ filename. Each report only counts a bridge when it has at least one
155
+ supporting note from each side — a match found on just one side
156
+ becomes a bridging candidate, not a bridge.
159
157
 
160
158
  ### Honest "No Connection" Reports
161
159
 
162
- If your wiki contains nothing in common between the two domains,
163
- the report still writes — with `_(none)_` filling the empty
164
- sections and a `## Summary` that says so plainly. A negative
165
- finding is itself useful: it tells you where the wiki has gaps.
160
+ If your wiki holds nothing in common between the two domains, the
161
+ report is still written — with `_(none)_` filling the empty
162
+ sections and a `## Summary` that says so plainly. An empty result
163
+ is useful in itself: it tells you where the wiki has gaps.
166
164
 
167
165
  ### `!connect` Does Not Create Wiki Notes
168
166
 
@@ -15,9 +15,7 @@ summary: |
15
15
  recipes for exporting your existing profile out of ChatGPT and Gemini.
16
16
  section: import-knowledge-file
17
17
  tags:
18
- - guides
19
18
  - knowledge
20
- - import
21
19
  - memory
22
20
  status: stable
23
21
  ask_examples:
@@ -27,7 +25,7 @@ ask_examples:
27
25
  - What format does the Knowledge upload accept?
28
26
  locale: en-US
29
27
  created: 2026-04-28
30
- updated: 2026-05-28
28
+ updated: 2026-07-01
31
29
  ui_anchors:
32
30
  - /knowledge
33
31
  keywords:
@@ -58,9 +56,10 @@ Bring a single Markdown (`.md`, `.markdown`) or plain-text (`.txt`)
58
56
  file you wrote elsewhere — a hand-written profile, an Obsidian or
59
57
  Notion export, or a summary you produced in ChatGPT / Gemini — into
60
58
  Aitne's `identity/*.md` Context Files. The agent reads the file once
61
- and appends each fact verbatim into the right topic file. Existing
62
- bullets are never overwritten; identity-class facts are deferred for
63
- your explicit confirmation.
59
+ and appends each fact, word for word, into the right topic file. It
60
+ never overwrites bullets you already have, and it holds back
61
+ identity-class facts — things like your legal name or timezone — until
62
+ you confirm them yourself.
64
63
 
65
64
  ## Prerequisites
66
65
 
@@ -130,8 +129,8 @@ date inline, so you can resolve them later without losing data.
130
129
  - **`415 unsupported_extension`** — the file is not `.md`,
131
130
  `.markdown`, or `.txt`. Convert PDFs / DOCX / HTML to plain
132
131
  Markdown first.
133
- - **`413 file_too_large`** — exceed 64 KB. Split the file into
134
- smaller chunks and upload each separately.
132
+ - **`413 file_too_large`** — the file is over 64 KB. Split it into
133
+ smaller chunks and upload each one separately.
135
134
  - **`400 secret_shape_detected`** — the route found content shaped
136
135
  like a private key or token. Remove the offending lines and re-
137
136
  upload.
@@ -152,8 +151,8 @@ following two paths produce a file that uploads cleanly.
152
151
  ### Recommended: ask ChatGPT to write it for you (≈ 2 min)
153
152
 
154
153
  Works against ChatGPT's *Memory* feature — the model already holds a
155
- list of personal facts about you. This procedure asks it to dump them
156
- in the exact format the upload expects.
154
+ list of personal facts about you. This recipe asks it to write those
155
+ out in the exact format the upload expects.
157
156
 
158
157
  1. Open <https://chatgpt.com> and start a **new conversation**. (Use
159
158
  a model with Memory enabled — GPT-4o, GPT-5, etc.)
@@ -15,12 +15,10 @@ summary: |
15
15
  start the daemon and dashboard, and open the dashboard at :8322.
16
16
  section: install-and-run
17
17
  tags:
18
- - core
19
- - guides
20
18
  - getting-started
21
- - install
22
19
  - setup
23
20
  - operations
21
+ - migration
24
22
  status: stable
25
23
  ask_examples:
26
24
  - How do I install Aitne?
@@ -29,7 +27,7 @@ ask_examples:
29
27
  - How do I install the aitne npm package?
30
28
  locale: en-US
31
29
  created: 2026-04-25
32
- updated: 2026-06-07
30
+ updated: 2026-07-01
33
31
  keywords:
34
32
  - install
35
33
  - first run
@@ -90,10 +88,10 @@ pnpm install
90
88
  pnpm start
91
89
  ```
92
90
 
93
- `pnpm start` builds first when the source is stale (mtime check against
94
- `.buildstamp`), then launches the daemon + dashboard detached. The
95
- `pnpm <cmd>` scripts are thin aliases that forward to
96
- `node bin/aitne.mjs <cmd>`.
91
+ `pnpm start` builds first if the source has changed since the last build
92
+ (a modified-time check against `.buildstamp`), then launches the daemon
93
+ and dashboard in the background. The `pnpm <cmd>` scripts are thin aliases
94
+ that forward to `node bin/aitne.mjs <cmd>`.
97
95
 
98
96
  ### Then, for both paths
99
97
 
@@ -101,8 +99,9 @@ Open `http://localhost:8322` and follow the setup wizard.
101
99
 
102
100
  ## Verification
103
101
 
104
- - `aitne status` (or `pnpm status` from a clone) shows two PIDs (daemon
105
- + dashboard), uptime, connected backends, and a green health pill.
102
+ - `aitne status` (or `pnpm status` from a clone) shows two process IDs
103
+ (one for the daemon, one for the dashboard), uptime, connected backends,
104
+ and a green health pill.
106
105
  - `~/.personal-agent/` has been created, containing
107
106
  `data/personal_agent.db`, `context/`, and `logs/`.
108
107
 
@@ -16,7 +16,6 @@ summary: |
16
16
  approval before promoting them.
17
17
  section: maintain-wiki-health
18
18
  tags:
19
- - guides
20
19
  - wiki
21
20
  - health
22
21
  status: stable
@@ -28,7 +27,7 @@ ask_examples:
28
27
  - What is a taxonomy candidate?
29
28
  locale: en-US
30
29
  created: 2026-05-12
31
- updated: 2026-06-07
30
+ updated: 2026-07-01
32
31
  keywords:
33
32
  - wiki health
34
33
  - wiki lint
@@ -59,11 +58,12 @@ ui_anchors:
59
58
 
60
59
  # Maintain Wiki Health
61
60
 
62
- The wiki is a living artifact. Notes accumulate, sources drift,
63
- slugs collide, and the taxonomy slowly diverges from the vocabulary
64
- your raw notes actually use. `!lint` is the periodic audit pass
65
- that surfaces all of this in one report without changing your
66
- notes itself.
61
+ The wiki is a living thing. Notes pile up, sources go stale,
62
+ slugs (the short id each note is filed under) collide, and the
63
+ taxonomy the list of canonical topic names your notes are filed
64
+ under slowly drifts away from the words your raw notes actually
65
+ use. `!lint` is the periodic audit that surfaces all of this in one
66
+ report, without changing any of your notes.
67
67
 
68
68
  ## When to Run
69
69
 
@@ -120,7 +120,7 @@ page is also reachable from a button at the top of `/settings/wiki`,
120
120
  and the same view is mirrored under `/settings/wiki/timeline`. The
121
121
  most-recent report is parsed and rendered with:
122
122
 
123
- - A coloured date badge.
123
+ - A colored date badge.
124
124
  - The `## Summary` bullets.
125
125
  - The `## Action items` list (this is the part you actually act on).
126
126
  - A "View full report" expander showing the raw Markdown for
@@ -132,8 +132,8 @@ that produced the state.
132
132
 
133
133
  ## Acting on Action Items
134
134
 
135
- The audit never modifies content layers itself. For each action
136
- item:
135
+ The audit never edits your notes itself — it only reports. For each
136
+ action item:
137
137
 
138
138
  - **Orphan** → either link the note from `20_wiki/_index.md` and
139
139
  related notes, or archive it. From a DM you can run `!ask` to
@@ -15,7 +15,6 @@ summary: |
15
15
  because schema migrations auto-forward at boot.
16
16
  section: migrate-machines
17
17
  tags:
18
- - guides
19
18
  - operations
20
19
  - migration
21
20
  - backup
@@ -25,7 +24,7 @@ ask_examples:
25
24
  - Will my DB still work after upgrading on the new machine?
26
25
  locale: en-US
27
26
  created: 2026-04-25
28
- updated: 2026-05-28
27
+ updated: 2026-07-01
29
28
  keywords:
30
29
  - migrate
31
30
  - move install
@@ -50,22 +49,25 @@ context-file history or activity logs.
50
49
  | `~/.personal-agent/data/personal_agent.db` (sessions, actions, observations, FTS) | Messaging pairing tokens (Slack / Telegram / Discord / WhatsApp) |
51
50
  | `~/.personal-agent/logs/` (optional — for reference) | Integration OAuth grants (Gmail / Google Calendar / Notion) |
52
51
 
53
- The DB carries cleanly even across daemon versions: at boot, Aitne
54
- runs forward-only migrations from `packages/daemon/src/db/migrations.ts`
55
- that bring older schemas up to the current shape. As long as you're
56
- upgrading (not downgrading), the same DB works.
52
+ The database carries cleanly even across daemon versions. Each time it
53
+ starts, Aitne runs forward-only migrations from
54
+ `packages/daemon/src/db/migrations.ts` one-way updates that bring an
55
+ older database up to the current shape. As long as you're upgrading
56
+ (not downgrading), the same database works.
57
57
 
58
58
  ## Steps
59
59
 
60
- 1. **On the old machine:** stop the daemon.
60
+ 1. **On the old machine:** stop the daemon (the background Aitne process).
61
61
  ```bash
62
62
  aitne stop
63
63
  ```
64
- 2. **Copy the data directory** to the new machine — context plus DB.
64
+ 2. **Copy the data directory** to the new machine — the context files
65
+ plus the database. The command below uses `rsync`, a standard
66
+ file-copy tool.
65
67
  ```bash
66
68
  rsync -av ~/.personal-agent/ user@new-host:~/.personal-agent/
67
69
  ```
68
- (Or rsync just `context/` and `data/` if you want to skip logs.)
70
+ (Or copy just `context/` and `data/` if you want to skip the logs.)
69
71
  3. **On the new machine:** install per [Install and Run](install-and-run.md).
70
72
  4. **Re-register secrets and re-pair messaging** through the dashboard:
71
73
  - Re-register each backend's API key, or re-run its CLI auth flow for
@@ -73,16 +75,16 @@ upgrading (not downgrading), the same DB works.
73
75
  Gemini run `gemini` and choose **Sign in with Google**.
74
76
  - Walk the setup wizard's messaging pairing steps for each app you
75
77
  had paired.
76
- - Re-authorize each integration's OAuth grant (Gmail / Calendar /
77
- Notion are the common ones).
78
+ - Re-authorize each integration's OAuth grant the access you
79
+ approved for Gmail, Calendar, and Notion (the common ones).
78
80
  5. Start the daemon.
79
81
  ```bash
80
82
  aitne start
81
83
  ```
82
84
 
83
- On first boot the migration runner brings the carried DB up to the
84
- new daemon's schema. Check the daemon log if you want to see exactly
85
- which migrations applied:
85
+ On first boot the migration runner brings the carried database up to
86
+ the new daemon's schema. Check the daemon log if you want to see
87
+ exactly which migrations applied:
86
88
 
87
89
  ```bash
88
90
  aitne logs -n 200 | grep -i migration
@@ -15,7 +15,6 @@ summary: |
15
15
  on disk.
16
16
  section: guides
17
17
  tags:
18
- - guides
19
18
  - wiki
20
19
  - workspaces
21
20
  - knowledge
@@ -26,7 +25,7 @@ ask_examples:
26
25
  - What does `@research` do before a wiki command?
27
26
  locale: en-US
28
27
  created: 2026-05-12
29
- updated: 2026-05-28
28
+ updated: 2026-07-01
30
29
  keywords:
31
30
  - multi-workspace
32
31
  - wiki workspace
@@ -76,10 +75,10 @@ DM agent routes commands per workspace; the file trees never overlap.
76
75
  pull from your parenting journal. Separate workspaces give you
77
76
  separate `_index.md` and `20_wiki/` trees so the agent never has to
78
77
  filter across domains.
79
- - **Different audiences.** A workspace synced via Obsidian to a shared
80
- iCloud folder for a team is governed differently from the daemon's
81
- internal workspace under its data directory. Per-workspace settings
82
- handle the asymmetry.
78
+ - **Different audiences.** A workspace that Obsidian syncs to a shared
79
+ iCloud folder for a team needs different handling from the daemon's
80
+ own internal workspace under its data directory. Per-workspace
81
+ settings let you treat each one on its own terms.
83
82
  - **Different cadences.** A "current project" wiki gets multiple
84
83
  ingests per day; a long-term commonplace book may compile weekly.
85
84
  Per-workspace dispatch / cost / approval thresholds let you tune
@@ -138,12 +137,12 @@ comma-separated arguments verbatim.
138
137
 
139
138
  ## What the agent sees per workspace
140
139
 
141
- Each session is materialised against a single workspace's tree. The
142
- `wiki-vault-rules` skill loaded for the session names that workspace's
143
- language, dispatch mode, layer invariants, and frontmatter
144
- conventions. Layer authorisation in the daemon API is workspace-scoped
145
- a `wiki.ask` session against `@research` cannot reach into
146
- `@parenting`'s `10_raw/` even if the agent attempts it.
140
+ Each session works against a single workspace's file tree. The
141
+ `wiki-vault-rules` skill loaded for the session spells out that
142
+ workspace's language, dispatch mode, layer rules, and frontmatter
143
+ conventions. Access to vault layers is workspace-scoped in the daemon
144
+ API: a `wiki.ask` session against `@research` cannot reach into
145
+ `@parenting`'s `10_raw/`, even if the agent tries.
147
146
 
148
147
  ## `!wiki` status with multiple workspaces
149
148
 
@@ -196,7 +195,7 @@ vault on Opus 4.8 and a parenting journal on Haiku 4.5 at the same
196
195
  time, you cannot — the `wiki.ask` row resolves to one backend/model for
197
196
  every workspace. The pragmatic shape is:
198
197
 
199
- - Bind `wiki.ask` to its medium-tier default (Sonnet 4.6), a sensible
198
+ - Bind `wiki.ask` to its medium-tier default (Sonnet 5), a sensible
200
199
  cross-workspace balance of cost and quality.
201
200
  - Keep cost differences per workspace through each workspace's own
202
201
  full-compile approval threshold (see above).
@@ -12,7 +12,6 @@ summary: |
12
12
  every routine, or use dashboard toggles and quiet hours for finer control.
13
13
  section: pause-the-agent
14
14
  tags:
15
- - guides
16
15
  - operations
17
16
  - messaging
18
17
  - autonomous
@@ -23,7 +22,7 @@ ask_examples:
23
22
  - Can I disable everything for a week?
24
23
  locale: en-US
25
24
  created: 2026-04-25
26
- updated: 2026-06-10
25
+ updated: 2026-07-01
27
26
  keywords:
28
27
  - pause agent
29
28
  - stop agent
@@ -58,24 +57,25 @@ losing your install.
58
57
 
59
58
  ## The fastest pause: `!stop`
60
59
 
61
- DM `!stop` to the agent on any paired messaging app. This is the
62
- recommended way to go silent and the only one you need for most cases:
60
+ DM `!stop` to the agent on any paired messaging app (any chat app you
61
+ have connected). This is the recommended way to go silent, and the only
62
+ step you need for most cases:
63
63
 
64
- - It pauses **every** cron-driven routine — morning, evening, weekly,
64
+ - It pauses **every** scheduled routine — morning, evening, weekly,
65
65
  monthly, and the activity scan — not just one of them.
66
- - Non-command DMs are declined with a paused notice (no LLM cost)
67
- until you resume.
68
- - The paused state is persisted, so a daemon restart does **not**
69
- silently resume autonomous work.
70
- - In-flight runs are not aborted; the pause takes effect from the next
71
- scheduled tick.
66
+ - While paused, a plain (non-command) DM gets a short "paused" reply
67
+ instead of an answer, so it costs nothing to run.
68
+ - The pause is saved to disk, so restarting the daemon does **not**
69
+ quietly start the agent working again.
70
+ - A run that is already in progress keeps going; the pause applies from
71
+ the next scheduled run onward.
72
72
 
73
73
  Resume with `!start` whenever you want the agent active again. See
74
74
  [Bang Commands](../features/messaging/bang-commands.md).
75
75
 
76
76
  ## Finer-grained control from the dashboard
77
77
 
78
- If you want to mute specific behaviour rather than pause everything:
78
+ If you want to quiet one specific behavior rather than pause everything:
79
79
 
80
80
  1. **Disable the activity scan** — open `/agents/activity-scan` and click
81
81
  **Disable**. This leaves the morning, evening, weekly, and monthly
@@ -90,22 +90,22 @@ If you want to mute specific behaviour rather than pause everything:
90
90
  take an `HH:MM` string. Routines still run; they just don't notify
91
91
  you.
92
92
 
93
- Morning (fires at the day boundary, default 04:00), evening (18:00),
94
- and weekly (Fri 19:00) reviews each have a per-routine Enable/Disable
95
- toggle on the `/agents` page — open `/agents/<slug>` (e.g.
96
- `/agents/weekly-review`) and click Disable (a stop-warning confirmation
97
- appears for these system agents). To halt all of them at once, use
98
- `!stop` above instead. Each routine's instructions (its rulebook) are
99
- edited on the same page's **Rulebook** tab
100
- (`/agents/<slug>?tab=rulebook`).
93
+ The morning review (fires at the day boundary the moment "today"
94
+ rolls over, 04:00 by default), evening (18:00), and weekly (Fri 19:00)
95
+ reviews each have their own Enable/Disable toggle on the `/agents`
96
+ page. Open `/agents/<slug>` (e.g. `/agents/weekly-review`) and click
97
+ Disable; a stop-warning confirmation appears for these system agents.
98
+ To halt all of them at once, use `!stop` above instead. To edit a
99
+ routine's instructions (its rulebook), use the same page's **Rulebook**
100
+ tab (`/agents/<slug>?tab=rulebook`).
101
101
 
102
102
  ## Last resort: stop the daemon
103
103
 
104
- `aitne stop` shuts the daemon down entirely (graceful SIGTERM, then
105
- SIGKILL after 10 seconds). Nothing runs — no routines, no messaging, no
106
- dashboard. Use this only when you want the agent fully offline; for a
107
- temporary pause that survives across days, prefer `!stop`. Restart with
108
- `aitne start`.
104
+ `aitne stop` shuts the daemon down entirely: it asks the process to
105
+ quit (SIGTERM), then forces it (SIGKILL) after 10 seconds. Nothing
106
+ runs — no routines, no messaging, no dashboard. Use this only when you
107
+ want the agent fully offline. For a temporary pause that survives across
108
+ days, prefer `!stop`. Restart with `aitne start`.
109
109
 
110
110
  ## Verification
111
111