@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
@@ -23,8 +23,6 @@ section: wiki
23
23
  tags:
24
24
  - wiki
25
25
  - dashboard
26
- - reference
27
- - core
28
26
  status: stable
29
27
  ask_examples:
30
28
  - What does the /wiki page show?
@@ -37,7 +35,7 @@ ask_examples:
37
35
  - What does the Enable Wiki button do?
38
36
  locale: en-US
39
37
  created: 2026-05-21
40
- updated: 2026-06-07
38
+ updated: 2026-07-01
41
39
  keywords:
42
40
  - /wiki
43
41
  - /wiki/timeline
@@ -82,12 +80,12 @@ process_keys:
82
80
 
83
81
  # Wiki Dashboard Surfaces
84
82
 
85
- The wiki has three distinct pages in the dashboard. The split mirrors
86
- Aitne's broader IA: content browsing lives under **My Life**,
87
- configuration lives under **Setup → Settings**. The pages share a
88
- single read path through the daemon's `/api/wiki/*` routes — every
83
+ The wiki has three separate pages in the dashboard. The split mirrors
84
+ how the rest of Aitne is organized: content you browse lives under
85
+ **My Life**, and configuration lives under **Setup → Settings**. All
86
+ three pages read through the same daemon routes (`/api/wiki/*`). Every
89
87
  request carries an `x-process-key: wiki.ask` header so the safety
90
- layer can attribute reads correctly.
88
+ layer can record who is reading what.
91
89
 
92
90
  ## `/wiki` — workspace home
93
91
 
@@ -112,13 +110,13 @@ Two action buttons at the bottom of the card: **Timeline & health**
112
110
 
113
111
  ### 2. Index
114
112
 
115
- Renders the latest `20_wiki/_index.md`, the LLM-maintained catalogue
116
- of wiki pages. The agent rewrites this file at the end of every
117
- `!compile` run.
113
+ Renders the latest `20_wiki/_index.md`, the running catalogue of wiki
114
+ pages that the agent keeps up to date. The agent rewrites this file at
115
+ the end of every `!compile` run.
118
116
 
119
117
  States:
120
- - **Empty** — no `_index.md` yet; the CTA tells you to run `!compile`
121
- from a DM.
118
+ - **Empty** — no `_index.md` yet; the card's call-to-action button
119
+ tells you to run `!compile` from a DM.
122
120
  - **Loaded** — the file is rendered verbatim as a monospaced code
123
121
  block (the index uses wikilink syntax, so rendering as markdown
124
122
  would lose information).
@@ -139,10 +137,10 @@ error toast.
139
137
  ### Disabled state
140
138
 
141
139
  When no `active=1` workspace exists in `wiki_workspaces`, the page
142
- shows an **Enable Wiki** CTA that jumps to `/settings/wiki`. The
143
- sidebar entry is always visible (gated only on the workspace
144
- catalogue being reachable), so this disabled state is reachable via
145
- the sidebar, a deep link, or browser history.
140
+ shows an **Enable Wiki** button that jumps to `/settings/wiki`. The
141
+ sidebar entry is always visible (it shows as long as the workspace
142
+ list can be loaded), so you can still land on this disabled page from
143
+ the sidebar, a shared link, or browser history.
146
144
 
147
145
  ## `/wiki/timeline` — full chronological history + health
148
146
 
@@ -172,9 +170,9 @@ log plus an **All commands** default. Entries render the same way
172
170
  they do in the `/wiki` recent-activity card — process-key badge,
173
171
  operation, path, timestamp.
174
172
 
175
- Both surfaces read live from the wiki API; the timeline page is a
176
- pure rendering pass over files the wiki skills already produce — no
177
- extra daemon-side schema backs them.
173
+ Both surfaces read live from the wiki API. The timeline page simply
174
+ displays files the wiki skills already write to disk there is no
175
+ separate database table behind it.
178
176
 
179
177
  ## `/settings/wiki` — configuration
180
178
 
@@ -186,9 +184,9 @@ A two-card chooser:
186
184
 
187
185
  - **Internal** (recommended) — managed by Aitne inside the context
188
186
  vault (default `<contextDir>/knowledge/wiki`, i.e.
189
- `~/.personal-agent/context/knowledge/wiki`), schema seeded
190
- automatically. The **Enable internal wiki** button turns it on with
191
- nothing else to configure.
187
+ `~/.personal-agent/context/knowledge/wiki`), with the folder
188
+ structure set up for you. The **Enable internal wiki** button turns
189
+ it on with nothing else to configure.
192
190
  - **Existing Obsidian vault** (external) — point Aitne at a folder you
193
191
  already own via the path picker, then confirm with **Use this
194
192
  folder**.
@@ -222,7 +220,7 @@ The full configuration:
222
220
  model, turn limit, and per-run budget on each `wiki.*` process key
223
221
  (`wiki.ingest_url`, `wiki.compile`, `wiki.ask`, `wiki.lint`,
224
222
  `wiki.trace`, `wiki.connect`). All six default to the medium tier
225
- (Claude Sonnet 4.6) with a sensible `maxTurns` / `maxBudgetUsd`; you
223
+ (Claude Sonnet 5) with a sensible `maxTurns` / `maxBudgetUsd`; you
226
224
  can override per key.
227
225
  - **Archive / delete** — archive keeps the row but flips `active=0`;
228
226
  delete drops the row (data on disk is untouched on external mode).
@@ -17,7 +17,6 @@ section: wiki
17
17
  tags:
18
18
  - wiki
19
19
  - knowledge
20
- - core
21
20
  status: stable
22
21
  ask_examples:
23
22
  - What is the wiki?
@@ -26,7 +25,7 @@ ask_examples:
26
25
  - Can I point the wiki at my Obsidian vault?
27
26
  locale: en-US
28
27
  created: 2026-05-12
29
- updated: 2026-06-07
28
+ updated: 2026-07-01
30
29
  keywords:
31
30
  - wiki
32
31
  - wiki workspace
@@ -88,10 +87,10 @@ and questions you ask it.
88
87
  The three commands you reach for daily:
89
88
 
90
89
  - **URL ingest**: send `!ingest <url>` from a paired DM channel; the wiki
91
- agent fetches the source, summarises it, and stores a raw note.
90
+ agent fetches the source, summarizes it, and stores a raw note.
92
91
  - **Compile**: `!compile` (incremental) and `!compile full` (full
93
- rebuild) turn raw notes into synthesised wiki articles with
94
- cross-links and an `_index.md` catalogue.
92
+ rebuild) turn raw notes into synthesized wiki articles with
93
+ cross-links and an `_index.md` catalog.
95
94
  - **Ask**: `!ask <question>` searches the wiki and writes a cited
96
95
  answer under `30_outputs/`.
97
96
 
@@ -110,8 +109,9 @@ competes for budget with daily reactive memory.
110
109
  Aitne offers two modes:
111
110
 
112
111
  - **Internal** (recommended starting point) — the daemon owns the
113
- vault at `$PA_DATA_DIR/context/knowledge/wiki`. No sandbox issues,
114
- daemon-managed snapshots, isolated from iCloud sync conflicts.
112
+ vault at `$PA_DATA_DIR/context/knowledge/wiki`. No sandbox
113
+ permission issues, snapshots are managed for you, and it stays clear
114
+ of iCloud sync conflicts.
115
115
  - **External** — you point the wiki at an existing Obsidian vault on
116
116
  disk. The daemon writes directly when the filesystem allows, and
117
117
  falls back to the official Obsidian CLI when the vault sits in a
@@ -126,7 +126,7 @@ workspaces may not nest.
126
126
  - `00_inbox/` — human-only capture (the agent has read access but
127
127
  cannot write here).
128
128
  - `10_raw/` — source-faithful raw notes (append-only).
129
- - `20_wiki/` — synthesised wiki articles + `_index.md` catalogue.
129
+ - `20_wiki/` — synthesized wiki articles + `_index.md` catalog.
130
130
  - `30_outputs/` — answer / report artifacts written by `!ask`.
131
131
  - `90_meta/` — taxonomy, schemas, lint reports, and the
132
132
  `import-<date>.md` migration record.
@@ -138,31 +138,23 @@ process keys can write wiki layers.
138
138
  ## Cost Safety
139
139
 
140
140
  `!compile full` rebuilds the entire wiki from raw notes and is the
141
- most expensive command. Before you run it, the dashboard shows a
142
- bracketed estimate the optimistic (0.5×) and pessimistic (2×)
143
- multiples of the assumed input-token spend. If the pessimistic
144
- estimate exceeds the per-workspace threshold (default $2.00), the
145
- command escalates to the approval queue and requires your explicit
146
- confirmation before the compile starts. The pending-approval card
147
- surfaces on the dashboard home page (`/`), where you Approve or Deny
148
- it.
149
-
150
- On a git-tracked external vault, Aitne also runs
151
- `git add -A && git commit -m "aitne wiki: pre-compile snapshot <ts>"`
152
- on a clean working tree before the compile so you can roll back if
153
- the run produces a surprise. A dirty tree refuses the operation —
154
- commit or stash first.
141
+ most expensive command, so Aitne guards it: the dashboard shows a cost
142
+ estimate before you run it, a large run needs your approval (the
143
+ per-workspace threshold defaults to $2.00), and a git-tracked external
144
+ vault gets a snapshot commit first so you can roll back a surprising
145
+ run. See [Cost estimation and approval](cost-and-approval.md) for the
146
+ exact estimate math, the approval flow, and the pre-compile snapshot.
155
147
 
156
148
  ## Where it lives in the dashboard
157
149
 
158
150
  The wiki has two distinct surfaces in the dashboard. The split mirrors
159
- how Aitne organises the rest of the app — configuration lives under
151
+ how Aitne organizes the rest of the app — configuration lives under
160
152
  **Setup → Settings**, day-to-day content browsing lives under **My
161
153
  Life** next to Knowledge / Reading / Git.
162
154
 
163
155
  | Page | Section | Use it for |
164
156
  |---|---|---|
165
- | `/wiki` | My Life | Workspace summary, the compiled `_index.md` catalogue, and the latest activity log. The page you open most often. |
157
+ | `/wiki` | My Life | Workspace summary, the compiled `_index.md` catalog, and the latest activity log. The page you open most often. |
166
158
  | `/wiki/timeline` | My Life | Full chronological activity log plus the latest `!lint` health report. Linked from `/wiki` and from settings. |
167
159
  | `/settings/wiki` | Setup → Settings | Enable / archive a workspace, switch between internal and external mode, pick an external vault path, language, dispatch mode, write strategy, git auto-commit, approval threshold, per-command model selectors. |
168
160
 
@@ -196,7 +188,7 @@ This page is a high-level tour. For depth on a specific surface:
196
188
  - **[Commands reference](commands.md)** — every wiki bang command
197
189
  (`!ingest`, `!compile`, `!ask`, `!lint`, `!trace`, `!connect`,
198
190
  `!wiki`), the `@<workspace>` addressing token, dispatch modes, and
199
- the disabled-state behaviour.
191
+ the disabled-state behavior.
200
192
  - **[Dashboard surfaces](dashboard.md)** — what `/wiki`,
201
193
  `/wiki/timeline`, and `/settings/wiki` actually render, where each
202
194
  card reads from on disk, and how the contextual help button maps
@@ -21,9 +21,7 @@ summary: |
21
21
  section: wiki
22
22
  tags:
23
23
  - wiki
24
- - search
25
- - fts
26
- - reference
24
+ - knowledge
27
25
  status: stable
28
26
  ask_examples:
29
27
  - How does !ask find the right wiki pages?
@@ -36,7 +34,7 @@ ask_examples:
36
34
  - What is fts_wiki?
37
35
  locale: en-US
38
36
  created: 2026-05-21
39
- updated: 2026-06-07
37
+ updated: 2026-07-01
40
38
  keywords:
41
39
  - wiki search
42
40
  - fts_wiki
@@ -83,9 +81,9 @@ The wiki exposes two read paths the skills use to find content:
83
81
  A short, human-readable list with one bullet per wiki page, kept
84
82
  current by every `!compile` run. Good for "give me the lay of the
85
83
  land" queries.
86
- 2. **`fts_wiki`** — a content-less SQLite FTS5 virtual table the
87
- daemon syncs on every successful disk write. Good for "find any
88
- page that mentions X" queries.
84
+ 2. **`fts_wiki`** — a full-text search index (a content-less SQLite
85
+ FTS5 virtual table) the daemon syncs on every successful disk
86
+ write. Good for "find any page that mentions X" queries.
89
87
 
90
88
  Both surfaces are read-only consumers; only `!compile` writes the
91
89
  catalogue, and only the wiki API write endpoints update `fts_wiki`.
@@ -139,9 +137,9 @@ CREATE VIRTUAL TABLE IF NOT EXISTS fts_wiki USING fts5(
139
137
  ```
140
138
 
141
139
  The `unicode61` tokenizer with `remove_diacritics 2` matches the
142
- mail FTS table for consistency. CJK content is handled by code-point
143
- breaking searches work for Japanese, Chinese, Korean, and
144
- mixed-script wikis.
140
+ mail FTS table for consistency. CJK (Chinese, Japanese, Korean)
141
+ content is handled by code-point breaking, so searches work across
142
+ those scripts and mixed-script wikis.
145
143
 
146
144
  ### Layer prefixes
147
145
 
@@ -157,9 +155,9 @@ The path classifier maps each on-disk file to one of six layers:
157
155
  Only four of these are actually indexed. `upsertWikiFulltextRow`
158
156
  **drops `log` and `inbox` rows** before insert: `log.md` is an
159
157
  append-only audit trail and `00_inbox/` is human-only, so indexing
160
- them would bury wiki and raw matches under log noise. So the values
161
- you ever see in `fts_wiki.layer` are `raw`, `wiki`, `output`, and
162
- `meta`.
158
+ them would bury wiki and raw matches under log noise. So the only
159
+ values you ever see in `fts_wiki.layer` are `raw`, `wiki`, `output`,
160
+ and `meta`.
163
161
 
164
162
  Searches can filter by layer to restrict the result set — e.g.
165
163
  `layer=wiki` for only canonical pages, not raw notes.
@@ -173,7 +171,7 @@ evidence. The query supports:
173
171
 
174
172
  - `q` — the search query. Each whitespace-separated token is quoted
175
173
  and joined by implicit AND, so a multi-word query narrows the
176
- result set. (Tokens are quoted to neutralise FTS5's `AND`/`OR`/
174
+ result set. (Tokens are quoted to neutralize FTS5's `AND`/`OR`/
177
175
  `NOT`/`NEAR` operator vocabulary — typing literally `rust AND go`
178
176
  matches those words, it does not parse as a boolean.)
179
177
  - `layer` — restrict to a single indexed layer (`raw` / `wiki` /
@@ -187,8 +185,8 @@ evidence. The query supports:
187
185
 
188
186
  Each result row carries `path`, `layer`, `title`, a body `snippet`
189
187
  (FTS5 `snippet()` output, `<mark>`-wrapped), `mtime` so the caller
190
- can rank by recency, and a BM25 `rank` (lower is better, `title`
191
- weighted above `body`).
188
+ can rank by recency, and a BM25 relevance `rank` (lower is better,
189
+ `title` weighted above `body`).
192
190
 
193
191
  There is no dashboard content-search bar today — the FTS surface is
194
192
  used by the agent, not the user UI. The dashboard timeline
@@ -222,7 +220,7 @@ A simplified flow for `!ask <question>`:
222
220
  question's key terms.
223
221
  2. It reads `10_raw/` notes only when the wiki pages need source
224
222
  verification.
225
- 3. The LLM synthesises an answer from the pages it pulled.
223
+ 3. The LLM synthesizes an answer from the pages it pulled.
226
224
  4. The answer is written to
227
225
  `30_outputs/<YYYY-MM-DD>-<slug>.md` (the date-prefixed output
228
226
  shape the `OUTPUT_RE` path check enforces). The file records the
@@ -24,7 +24,6 @@ tags:
24
24
  - wiki
25
25
  - workspaces
26
26
  - config
27
- - core
28
27
  status: stable
29
28
  ask_examples:
30
29
  - What is a wiki workspace?
@@ -37,7 +36,7 @@ ask_examples:
37
36
  - Can two wikis live in nested folders?
38
37
  locale: en-US
39
38
  created: 2026-05-21
40
- updated: 2026-06-07
39
+ updated: 2026-07-01
41
40
  keywords:
42
41
  - wiki workspace
43
42
  - workspace
@@ -87,10 +86,10 @@ config_keys:
87
86
  # Wiki Workspaces, Vaults, and Write Strategy
88
87
 
89
88
  A **wiki workspace** is one row in the `wiki_workspaces` table plus
90
- the directory tree it points at. Aitne ships with no active
91
- workspace; the first run of the Enable flow creates one named
92
- `default`. Phase 5 unlocked multi-workspace you can run as many
93
- side-by-side wikis as you have distinct knowledge domains.
89
+ the directory tree it points at. Aitne starts with no active
90
+ workspace. The first run of the Enable flow creates one named
91
+ `default`. You can run as many side-by-side wikis as you have
92
+ distinct knowledge domains one per subject is a common setup.
94
93
 
95
94
  ## Internal vs external mode
96
95
 
@@ -109,8 +108,8 @@ Path-collision rules apply to both modes:
109
108
  - Two wiki workspaces may not nest — neither root can be inside the other.
110
109
 
111
110
  The dashboard probe (`POST /api/wiki/workspaces/probe`) runs these
112
- checks live before the workspace row is written and surfaces a
113
- human-readable error if any rule trips.
111
+ checks live before the workspace row is written, and shows a
112
+ plain-language error if any rule is broken.
114
113
 
115
114
  ## The layered layout
116
115
 
@@ -126,19 +125,19 @@ top-level subdirectories plus a workspace-root `log.md`:
126
125
  | `90_meta/` | Wiki agent | Taxonomy (`taxonomy.md`), schemas, health reports (`90_meta/health/<date>.md`), migration records (`90_meta/health/pre-migrate-<date>/`). |
127
126
  | `log.md` | Wiki agent (append-only) | One line per write. Drives the dashboard timeline. |
128
127
 
129
- The DM agent can read wiki search and index routes, but only the
128
+ The DM agent can read the wiki search and index routes, but only the
130
129
  wiki process keys (`wiki.ingest_url`, `wiki.compile`, `wiki.ask`,
131
- `wiki.lint`, `wiki.trace`, `wiki.connect`) can write into these
132
- layers. The chokepoint is `POST /api/wiki/:workspace/files/:path`
133
- the route validates the layer the path resolves into and rejects
134
- writes to `00_inbox/` unconditionally.
130
+ `wiki.lint`, `wiki.trace`, `wiki.connect`) may write into these
131
+ layers. Every write funnels through one route,
132
+ `POST /api/wiki/:workspace/files/:path`, which checks which layer the
133
+ path lands in and always rejects writes to `00_inbox/`.
135
134
 
136
135
  ## Multi-workspace addressing
137
136
 
138
- Every wiki bang command accepts an optional `@<name>` token
139
- immediately after the bang to target a specific workspace. The token
140
- is parsed before the command's own argument parser sees the rest, so
141
- multi-word topics and comma-separated arguments work as normal:
137
+ Every wiki bang command takes an optional `@<name>` token right
138
+ after the bang to aim at a specific workspace. Aitne reads this token
139
+ before the command parses the rest of the line, so multi-word topics
140
+ and comma-separated arguments still work as usual:
142
141
 
143
142
  ```
144
143
  !compile @research full
@@ -146,15 +145,15 @@ multi-word topics and comma-separated arguments work as normal:
146
145
  !connect @research diffusion models, score matching
147
146
  ```
148
147
 
149
- Omit the token and the command targets the **default** workspace —
150
- in practice the oldest active workspace (lowest id), which is the one
151
- named `default` on a fresh install, or the next-oldest active
152
- workspace if `default` has been archived.
148
+ Leave the token off and the command targets the **default**
149
+ workspace — in practice the oldest active workspace (lowest id). That
150
+ is the one named `default` on a fresh install, or the next-oldest
151
+ active workspace if `default` has been archived.
153
152
 
154
- A workspace name after `@` must start with a letter or digit and then
155
- contain only letters, digits, `.`, `_`, or `-` (max 64 chars). An
156
- invalid token is rejected with a usage error rather than silently
157
- falling back to the default.
153
+ A workspace name after `@` must start with a letter or digit, and the
154
+ rest may contain only letters, digits, `.`, `_`, or `-` (max 64
155
+ chars). An invalid token gets a usage error rather than a silent
156
+ fall-back to the default.
158
157
 
159
158
  See [guides/multiple-wikis-for-multiple-domains](../../guides/multiple-wikis-for-multiple-domains.md)
160
159
  for a walkthrough.
@@ -172,18 +171,18 @@ write. Three values:
172
171
  running). Used for external vaults that live in sandboxed
173
172
  locations (typically iCloud-synced vaults) where direct fs writes
174
173
  fail with `EPERM` / `EACCES` / `EROFS` / `EBUSY`.
175
- - **`auto`** — the resolver tries `fs` first, falls back to `cli`
176
- on those sandbox error codes, and persists the resolved value back
177
- to the row so subsequent writes skip the probe.
174
+ - **`auto`** — tries `fs` first, falls back to `cli` on those
175
+ sandbox error codes, and saves the value it settled on back to the
176
+ row so later writes skip the check.
178
177
 
179
178
  Internal workspaces are pinned to `fs`. External workspaces start in
180
- `auto` and self-tune. You can override the resolved value from
181
- `/settings/wiki` if you need to force one path or the other (e.g. to
182
- test the CLI path on a non-sandboxed vault).
179
+ `auto` and tune themselves. You can override the resolved value from
180
+ `/settings/wiki` if you need to force one path or the other (for
181
+ example, to test the CLI path on a non-sandboxed vault).
183
182
 
184
- The resolved strategy is surfaced in the workspace API response and
185
- on the `/settings/wiki` row, so you can always see which path
186
- (`fs` or `cli`) `auto` settled on. The full design is in
183
+ The resolved strategy shows up in the workspace API response and on
184
+ the `/settings/wiki` row, so you can always see which path (`fs` or
185
+ `cli`) `auto` settled on. The full design is in
187
186
  WIKI_BUILDER_DESIGN.md §P2.B / §8.
188
187
 
189
188
  ## Dispatch mode (`parallel` / `serial`)
@@ -191,13 +190,13 @@ WIKI_BUILDER_DESIGN.md §P2.B / §8.
191
190
  `!ingest` honours the per-workspace **dispatch mode** in
192
191
  `/settings/wiki`:
193
192
 
194
- - **Parallel** (default): all URLs fan out simultaneously up to the
195
- per-URL concurrency cap (`wiki_workspaces.concurrency_cap`, default
196
- `3`, valid range 1–10). Fastest; small risk of bursting rate
197
- limits at the URL host.
198
- - **Serial**: URLs are enqueued in submitted order; each agent
199
- session starts only after the previous one completes. Slower but
200
- predictable budget and rate.
193
+ - **Parallel** (default): all URLs run at once, up to the per-URL
194
+ concurrency cap (`wiki_workspaces.concurrency_cap`, default `3`,
195
+ valid range 1–10). Fastest, with a small risk of tripping rate
196
+ limits at the URL's host.
197
+ - **Serial**: URLs run in the order you submitted them; each agent
198
+ session starts only after the previous one finishes. Slower, but
199
+ the budget and request rate stay predictable.
201
200
 
202
201
  The acknowledgement DM tells you which mode ran
203
202
  (`in parallel` / `serially`).
@@ -205,10 +204,10 @@ The acknowledgement DM tells you which mode ran
205
204
  ## Language
206
205
 
207
206
  `wiki_workspaces.language` is the workspace's content language. It
208
- defaults to `en` and is independent of `runtimeSettings.primaryLanguage`
209
- — see WIKI_BUILDER_DESIGN.md §14 Q2 for the reasoning. You can pick
210
- any language tag from the picker in `/settings/wiki`; the value is
211
- passed to the wiki skills as the target language for compiled
207
+ defaults to `en` and is separate from `runtimeSettings.primaryLanguage`
208
+ — see WIKI_BUILDER_DESIGN.md §14 Q2 for the reasoning. Pick any
209
+ language tag from the picker in `/settings/wiki`; Aitne passes that
210
+ value to the wiki skills as the target language for compiled
212
211
  articles, ask answers, and trace / connect outputs.
213
212
 
214
213
  The wiki language does **not** cascade from your primary language at
@@ -217,16 +216,16 @@ wiki in English, and vice versa.
217
216
 
218
217
  ## Archive vs delete
219
218
 
220
- - **Archive** — flips `active=0` on the row but keeps the on-disk
219
+ - **Archive** — sets `active=0` on the row but keeps the on-disk
221
220
  data and the row's metadata. Bang commands cannot target an
222
- archived workspace; the dashboard hides it from the active list
223
- but surfaces it in an "Archived" collapsible. You can unarchive by
224
- re-enabling the workspace.
225
- - **Delete** — drops the row. On-disk data is **not** removed for
226
- external workspaces (the daemon never deletes the user's vault).
227
- For internal workspaces, the disk tree is also left in place under
228
- `$PA_DATA_DIR/context/knowledge/wiki/<name>` — recover by re-creating
229
- a workspace at the same name.
221
+ archived workspace; the dashboard hides it from the active list and
222
+ tucks it into an "Archived" collapsible. Re-enable the workspace to
223
+ unarchive it.
224
+ - **Delete** — drops the row. The on-disk data is **not** removed for
225
+ external workspaces (the daemon never deletes your vault). For
226
+ internal workspaces, the disk tree is also left in place under
227
+ `$PA_DATA_DIR/context/knowledge/wiki/<name>` — to recover, create a
228
+ workspace again with the same name.
230
229
 
231
230
  ## Fields and defaults reference
232
231
 
@@ -250,5 +249,5 @@ Quick map between the dashboard knobs and the `wiki_workspaces` row:
250
249
  | Active | `active` | `1` |
251
250
 
252
251
  `dm_agent_write_enabled=0` is the safe default — the DM agent can
253
- only call the read-side wiki routes; writes happen inside dedicated
254
- `wiki.*` sessions spawned by bang commands.
252
+ only call the read-side wiki routes. Writes happen inside dedicated
253
+ `wiki.*` sessions that bang commands spawn.
@@ -18,7 +18,6 @@ summary: |
18
18
  Markdown files.
19
19
  section: getting-started
20
20
  tags:
21
- - core
22
21
  - getting-started
23
22
  - backends
24
23
  status: stable
@@ -42,7 +41,7 @@ keywords:
42
41
  - markdown memory
43
42
  - backends
44
43
  created: 2026-04-25
45
- updated: 2026-05-28
44
+ updated: 2026-07-01
46
45
  context_files:
47
46
  - state/today.md
48
47
  - plans/roadmap.md
@@ -59,7 +58,7 @@ related:
59
58
  # What is Aitne?
60
59
 
61
60
  Aitne is a local-first personal AI agent. It runs as a long-running
62
- daemon on your own machine, drives Claude Code, Codex CLI, Gemini
61
+ background program (a daemon) on your own machine, drives Claude Code, Codex CLI, Gemini
63
62
  CLI, or OpenCode (`@opencode-ai/sdk` server) via provider API keys
64
63
  you register (with the CLI's local subscription login as a
65
64
  fallback), and keeps all of its memory as plain Markdown files under
@@ -122,7 +121,7 @@ decides what (if anything) is worth telling you about.
122
121
 
123
122
  - [Mail](../features/integrations/mail.md) — Gmail, Outlook, Yahoo,
124
123
  iCloud, or any IMAP server. Searches your messages locally via
125
- FTS5. Auto-classifies into
124
+ FTS5 (SQLite's built-in full-text search). Auto-classifies into
126
125
  [reading list](../features/lifestyle/reading.md),
127
126
  [receipts](../features/lifestyle/receipts.md), and
128
127
  [travel bookings](../features/lifestyle/travel-bookings.md).
@@ -181,7 +180,7 @@ dashboard surfaces a warning whenever a backend is running on
181
180
  subscription auth.
182
181
 
183
182
  Each kind of work is mapped to a backend and a tier — most work runs
184
- on medium (Claude Sonnet 4.6 by default) and quick triage on lite
183
+ on medium (Claude Sonnet 5 by default) and quick triage on lite
185
184
  (Claude Haiku 4.5). The high tier (Claude Opus 4.8) is registered but
186
185
  left unseeded; you opt into it per task from the dashboard. You can
187
186
  change any of this mapping at any time.
@@ -14,7 +14,6 @@ summary: |
14
14
  pair a messaging app, and arrive at a green health pill.
15
15
  section: getting-started
16
16
  tags:
17
- - core
18
17
  - getting-started
19
18
  - setup
20
19
  status: stable
@@ -31,7 +30,7 @@ keywords:
31
30
  - dashboard onboarding
32
31
  - health pill
33
32
  created: 2026-04-27
34
- updated: 2026-06-07
33
+ updated: 2026-07-01
35
34
  related:
36
35
  - getting-started/01-what-is-this
37
36
  - getting-started/03-what-can-this-do
@@ -70,19 +69,19 @@ skippable in the wizard. Run through it once, top to bottom.
70
69
  the daemon claims you as the owner. See
71
70
  [Messaging Overview](../features/messaging/overview.md) for the
72
71
  list of supported apps and what each one does well.
73
- 3. **Pick a main backend and register an API key.** Pick the LLM
72
+ 3. **Pick a main backend and register an API key.** This is the LLM
74
73
  the agent uses for "think hard" turns (Claude / Codex / Gemini /
75
- OpenCode) and paste a provider API key — the supported way to run
76
- a headless agent. If you skip the key, the daemon falls back to
77
- whatever subscription login the matching CLI already has on your
78
- machine; the dashboard surfaces a warning when this happens
79
- because most providers do not support running agents on a
80
- personal subscription. The same picker also lets you point the
74
+ OpenCode). Paste a provider API key — that is the supported way
75
+ to run the agent unattended (with no human signed in). If you skip
76
+ the key, the daemon falls back to whatever subscription login the
77
+ matching CLI already has on your machine, and the dashboard shows
78
+ a warning, because most providers do not support running agents on
79
+ a personal subscription. The same picker can instead point the
81
80
  backend at a cloud provider (Bedrock / Vertex / Foundry / Azure
82
- OpenAI / Gemini-Vertex) instead of the direct API key — the
83
- provider dropdown on `/settings/models` is the single surface for
84
- both direct keys and cloud-provider credentials. Defaults are
85
- sensible and can be changed later from `/settings/models`.
81
+ OpenAI / Gemini-Vertex) rather than a direct API key — the provider
82
+ dropdown on `/settings/models` is the single place for both direct
83
+ keys and cloud-provider credentials. The defaults are sensible, and
84
+ you can change them later from `/settings/models`.
86
85
  Background: [Backends and Tiers](../concepts/backends-and-tiers.md).
87
86
  4. **Skip integrations you do not need yet.** Mail, calendar, git,
88
87
  Notion, Obsidian are all optional and re-runnable any time from
@@ -14,7 +14,6 @@ summary: |
14
14
  granularity, with a link to the detailed feature doc for each.
15
15
  section: getting-started
16
16
  tags:
17
- - core
18
17
  - getting-started
19
18
  - routines
20
19
  - messaging
@@ -35,7 +34,7 @@ keywords:
35
34
  - wiki
36
35
  - lifestyle
37
36
  created: 2026-04-27
38
- updated: 2026-05-28
37
+ updated: 2026-07-01
39
38
  related:
40
39
  - getting-started/01-what-is-this
41
40
  - getting-started/02-first-steps
@@ -110,16 +109,17 @@ them — the agent reads what's there next time it runs.
110
109
 
111
110
  ## Build a personal wiki from what you DM
112
111
 
113
- A workspace-scoped builder turns URLs, pastes, and notes you send into a
114
- linked Markdown wiki. The raw capture, the synthesised article, and the
115
- cited answer all stay on disk and the agent only writes via the daemon
116
- API so the layout invariants hold.
112
+ Send the agent URLs, pastes, or notes and it builds them into a linked
113
+ Markdown wiki inside a dedicated workspace. The raw capture, the
114
+ synthesized article, and any cited answer all stay as files on disk. The
115
+ agent writes only through the daemon API, which keeps the folder layout
116
+ consistent.
117
117
 
118
118
  - [Wiki Overview](../features/wiki/overview.md) — the workspace concept,
119
119
  the `00_inbox` / `10_raw` / `20_wiki` / `30_outputs` layers, and the
120
120
  approval gate on full rebuilds.
121
121
  - [Wiki Commands](../features/wiki/commands.md) — `!ingest` (capture
122
- URLs), `!compile` (synthesise), `!ask` (cited Q&A), `!lint` /
122
+ URLs), `!compile` (synthesize), `!ask` (cited Q&A), `!lint` /
123
123
  `!trace` / `!connect` (audit, history, bridges), `!wiki` (status).
124
124
  - [Build Your Wiki](../guides/build-your-wiki.md) — the first-day
125
125
  walkthrough from empty workspace to first answered question.
@@ -15,7 +15,6 @@ aliases:
15
15
  - day zero
16
16
  section: getting-started
17
17
  tags:
18
- - core
19
18
  - getting-started
20
19
  - setup
21
20
  - integrations
@@ -52,7 +51,7 @@ context_files:
52
51
  api_endpoints:
53
52
  - POST /api/knowledge/import
54
53
  created: 2026-04-25
55
- updated: 2026-06-10
54
+ updated: 2026-07-01
56
55
  related:
57
56
  - getting-started/02-first-steps
58
57
  - getting-started/03-what-can-this-do
@@ -119,9 +118,9 @@ Send 3–5 DMs that read like introductions to a new assistant:
119
118
 
120
119
  The agent appends each fact to the right `identity/*.md` file (work
121
120
  facts → `identity/work.md`, people → `identity/people.md`, preferences →
122
- `identity/personal.md`, and so on). Identity-class facts (legal name,
123
- primary timezone) are deferred for your explicit confirmation
124
- rather than auto-written.
121
+ `identity/personal.md`, and so on). Identity-class facts (your legal
122
+ name, your primary timezone) wait for you to confirm them instead of
123
+ being written automatically.
125
124
 
126
125
  ### Bootstrap from ChatGPT, Gemini, or anywhere else
127
126