@aitne-sh/aitne 0.1.9 → 0.1.10
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.
- package/README.md +36 -6
- package/agent-assets/docs/concepts/agent-day.md +2 -2
- package/agent-assets/docs/concepts/costs-and-quotas.md +4 -3
- package/agent-assets/docs/concepts/delegated-mode.md +5 -5
- package/agent-assets/docs/concepts/memory-model.md +6 -3
- package/agent-assets/docs/concepts/safety-model.md +19 -16
- package/agent-assets/docs/concepts/skills.md +2 -2
- package/agent-assets/docs/features/integrations/browser-history.md +9 -8
- package/agent-assets/docs/features/integrations/calendar.md +4 -4
- package/agent-assets/docs/features/integrations/mail.md +3 -2
- package/agent-assets/docs/features/lifestyle/git.md +3 -3
- package/agent-assets/docs/features/lifestyle/reading.md +15 -8
- package/agent-assets/docs/features/lifestyle/travel-bookings.md +4 -3
- package/agent-assets/docs/features/memory-files/agent-journal.md +30 -12
- package/agent-assets/docs/features/memory-files/agent-lessons.md +177 -0
- package/agent-assets/docs/features/memory-files/projects.md +6 -4
- package/agent-assets/docs/features/memory-files/roadmap.md +17 -14
- package/agent-assets/docs/features/messaging/overview.md +5 -5
- package/agent-assets/docs/features/messaging/telegram.md +10 -9
- package/agent-assets/docs/features/operations/activity-and-conversations.md +5 -4
- package/agent-assets/docs/features/operations/approvals.md +6 -5
- package/agent-assets/docs/features/operations/managed-chromium.md +3 -2
- package/agent-assets/docs/features/operations/quiet-hours.md +4 -3
- package/agent-assets/docs/features/routines/custom-routines.md +11 -7
- package/agent-assets/docs/features/routines/evening-review.md +10 -2
- package/agent-assets/docs/features/routines/morning-routine.md +4 -3
- package/agent-assets/docs/features/routines/weekly-review.md +6 -0
- package/agent-assets/docs/features/wiki/commands.md +4 -4
- package/agent-assets/docs/features/wiki/cost-and-approval.md +4 -3
- package/agent-assets/docs/features/wiki/dashboard.md +7 -6
- package/agent-assets/docs/features/wiki/overview.md +3 -3
- package/agent-assets/docs/features/wiki/search.md +5 -5
- package/agent-assets/docs/features/wiki/workspaces.md +2 -2
- package/agent-assets/docs/getting-started/02-first-steps.md +5 -3
- package/agent-assets/docs/getting-started/04-first-day.md +2 -2
- package/agent-assets/docs/glossary.md +4 -4
- package/agent-assets/docs/guides/budget-and-cost-for-wiki.md +2 -2
- package/agent-assets/docs/guides/connect-a-new-mail-account.md +4 -2
- package/agent-assets/docs/guides/explore-with-trace-and-connect.md +5 -4
- package/agent-assets/docs/guides/install-and-run.md +2 -2
- package/agent-assets/docs/guides/maintain-wiki-health.md +2 -2
- package/agent-assets/docs/guides/pause-the-agent.md +9 -5
- package/agent-assets/docs/guides/setup-wizard.md +8 -5
- package/agent-assets/docs/guides/use-an-existing-obsidian-vault.md +6 -6
- package/agent-assets/docs/reference/api.md +15 -5
- package/agent-assets/docs/reference/cli-commands.md +3 -3
- package/agent-assets/docs/reference/config.md +21 -4
- package/agent-assets/docs/reference/disallowed-tools.md +6 -4
- package/agent-assets/docs/reference/knowledge-layout.md +11 -2
- package/agent-assets/docs/reference/process-keys.md +2 -2
- package/agent-assets/docs/reference/skills.md +5 -4
- package/agent-assets/docs/troubleshooting/auth-failed.md +9 -8
- package/agent-assets/docs/troubleshooting/dashboard-shows-degraded.md +16 -9
- package/agent-assets/docs/troubleshooting/messaging-not-pairing.md +2 -2
- package/agent-assets/docs/troubleshooting/quota-exhausted.md +7 -6
- package/agent-assets/skills/agent-actions/SKILL.md +23 -39
- package/agent-assets/skills/agent-create/SKILL.md +15 -6
- package/agent-assets/skills/attach/SKILL.md +8 -27
- package/agent-assets/skills/browser-history/SKILL.md +29 -16
- package/agent-assets/skills/browser-history-respond/SKILL.md +6 -1
- package/agent-assets/skills/browser-task/SKILL.md +22 -27
- package/agent-assets/skills/context/SKILL.md +23 -32
- package/agent-assets/skills/context/curation.json +12 -12
- package/agent-assets/skills/context/references/api.md +17 -17
- package/agent-assets/skills/context/references/required-frontmatter.md +10 -9
- package/agent-assets/skills/context/references/snapshot-files.md +12 -11
- package/agent-assets/skills/context/seeds/file-responsibilities.seed.json +5 -5
- package/agent-assets/skills/context/seeds/frontmatter-requirements.seed.json +3 -3
- package/agent-assets/skills/docs-search/SKILL.md +19 -31
- package/agent-assets/skills/external-services/SKILL.delegated.claude.md +8 -95
- package/agent-assets/skills/external-services/SKILL.delegated.codex.md +8 -94
- package/agent-assets/skills/external-services/SKILL.delegated.gemini.md +8 -94
- package/agent-assets/skills/external-services/SKILL.native.claude.md +2 -2
- package/agent-assets/skills/external-services/references/exec-errors.md +32 -0
- package/agent-assets/skills/external-services/references/skills-crud.md +5 -5
- package/agent-assets/skills/gmail-lifestyle/SKILL.md +3 -2
- package/agent-assets/skills/gmail-lifestyle/references/receipts-api.md +4 -0
- package/agent-assets/skills/gmail-lifestyle/references/travel-bookings-api.md +9 -0
- package/agent-assets/skills/mail/SKILL.delegated.claude.md +13 -25
- package/agent-assets/skills/mail/SKILL.delegated.codex.md +3 -2
- package/agent-assets/skills/mail/SKILL.delegated.gemini.md +3 -2
- package/agent-assets/skills/mail/SKILL.md +10 -18
- package/agent-assets/skills/mail/SKILL.native.claude.md +8 -7
- package/agent-assets/skills/mail/SKILL.native.codex.md +1 -1
- package/agent-assets/skills/mail/SKILL.native.gemini.md +1 -1
- package/agent-assets/skills/mail/references/api.md +6 -1
- package/agent-assets/skills/mail/references/examples.md +2 -1
- package/agent-assets/skills/managed-tasks/SKILL.md +44 -77
- package/agent-assets/skills/managed-tasks/references/errors.md +25 -14
- package/agent-assets/skills/managed-tasks/references/output-path.md +33 -17
- package/agent-assets/skills/managed-tasks/references/recurrence-rule.md +6 -4
- package/agent-assets/skills/management-policy/SKILL.md +10 -11
- package/agent-assets/skills/management-policy/references/policy-workflow.md +4 -5
- package/agent-assets/skills/notify/SKILL.md +11 -13
- package/agent-assets/skills/notify/references/priority.md +28 -25
- package/agent-assets/skills/notion/SKILL.delegated.claude.md +1 -1
- package/agent-assets/skills/notion/SKILL.delegated.codex.md +1 -1
- package/agent-assets/skills/notion/SKILL.delegated.gemini.md +1 -1
- package/agent-assets/skills/notion/SKILL.md +17 -17
- package/agent-assets/skills/notion/SKILL.native.claude.md +1 -1
- package/agent-assets/skills/notion/SKILL.native.codex.md +1 -1
- package/agent-assets/skills/notion/SKILL.native.gemini.md +1 -1
- package/agent-assets/skills/observations/SKILL.md +5 -20
- package/agent-assets/skills/observations/references/fetch-fallback.md +22 -0
- package/agent-assets/skills/project-doc/SKILL.md +9 -6
- package/agent-assets/skills/project-doc/curation.json +3 -3
- package/agent-assets/skills/project-doc/seeds/project-shape.seed.json +2 -2
- package/agent-assets/skills/project-doc/seeds/slug-grammar.seed.json +3 -3
- package/agent-assets/skills/reading/SKILL.md +8 -42
- package/agent-assets/skills/reading/references/reading-taste.md +5 -5
- package/agent-assets/skills/roadmap/SKILL.md +3 -19
- package/agent-assets/skills/roadmap/references/api.md +16 -6
- package/agent-assets/skills/roadmap/references/horizon-tags.md +11 -0
- package/agent-assets/skills/roadmap/references/migration.md +8 -6
- package/agent-assets/skills/roadmap/references/retention.md +18 -0
- package/agent-assets/skills/schedule/SKILL.md +9 -26
- package/agent-assets/skills/schedule/references/importance.md +23 -0
- package/agent-assets/skills/schedule/references/recurrence-rule.md +6 -4
- package/agent-assets/skills/scheduled-managed-task/SKILL.md +34 -37
- package/agent-assets/skills/today/SKILL.md +20 -79
- package/agent-assets/skills/today/references/today-skeleton.md +66 -0
- package/agent-assets/skills/today/seeds/agent-notes-flavors.seed.json +1 -1
- package/agent-assets/skills/today/seeds/section-shape.seed.json +6 -6
- package/agent-assets/skills/user-interview/SKILL.md +15 -90
- package/agent-assets/skills/user-interview/references/op-briefing.md +1 -1
- package/agent-assets/skills/user-interview/references/op-dm-handler.md +88 -0
- package/agent-assets/skills/user-interview/references/op-morning.md +1 -1
- package/agent-assets/skills/user-interview/references/sweep-and-fallback.md +1 -1
- package/agent-assets/skills/user-profile/SKILL.md +16 -26
- package/agent-assets/skills/user-profile/curation.json +3 -3
- package/agent-assets/skills/user-profile/references/character-preferences.md +3 -3
- package/agent-assets/skills/wiki/wiki-ask/SKILL.md +1 -1
- package/agent-assets/skills/wiki/wiki-compile/SKILL.md +5 -4
- package/agent-assets/skills/wiki/wiki-connect/SKILL.md +32 -5
- package/agent-assets/skills/wiki/wiki-ingest/SKILL.md +6 -50
- package/agent-assets/skills/wiki/wiki-ingest/references/curl-errors.md +58 -0
- package/agent-assets/skills/wiki/wiki-lint/SKILL.md +20 -14
- package/agent-assets/skills/wiki/wiki-trace/SKILL.md +10 -5
- package/agent-assets/skills/wiki/wiki-vault-rules/SKILL.md +2 -0
- package/agent-assets/task-flows/_partials/feedback-capture.md +30 -0
- package/agent-assets/task-flows/message.received.dm.md +4 -0
- package/agent-assets/task-flows/message.received.dm_first.md +4 -0
- package/agent-assets/task-flows/routine.evening_review.md +80 -0
- package/agent-assets/task-flows/routine.monthly_review.md +72 -0
- package/agent-assets/task-flows/routine.weekly_review.md +21 -0
- package/agent-assets/task-flows/wiki.trace.md +1 -1
- package/bin/aitne.mjs +45 -11
- package/package.json +4 -4
- package/scripts/commands/doctor.mjs +11 -2
- package/scripts/lib/process-identity.d.mts +46 -0
- package/scripts/lib/process-identity.mjs +193 -0
- package/scripts/lib/read-api-token.mjs +1 -1
- package/scripts/start.mjs +14 -4
|
@@ -36,7 +36,7 @@ ask_examples:
|
|
|
36
36
|
- What is fts_wiki?
|
|
37
37
|
locale: en-US
|
|
38
38
|
created: 2026-05-21
|
|
39
|
-
updated: 2026-
|
|
39
|
+
updated: 2026-06-07
|
|
40
40
|
keywords:
|
|
41
41
|
- wiki search
|
|
42
42
|
- fts_wiki
|
|
@@ -119,10 +119,10 @@ is the file on disk, not a row in another SQL table. This matters:
|
|
|
119
119
|
because the source rows live in SQLite.
|
|
120
120
|
- Wiki content lives on the filesystem. There's no source table to
|
|
121
121
|
trigger off, so the wiki API write endpoints
|
|
122
|
-
(`POST /api/wiki/:ws/files/:path`, `PATCH /api/wiki/:ws/files/:path
|
|
123
|
-
|
|
124
|
-
`
|
|
125
|
-
|
|
122
|
+
(`POST /api/wiki/:ws/files/:path`, `PATCH /api/wiki/:ws/files/:path`)
|
|
123
|
+
call `upsertWikiFulltextRow` directly after a successful disk write.
|
|
124
|
+
(`deleteWikiFulltextRow` is reached internally — it's how
|
|
125
|
+
`upsertWikiFulltextRow` drops a `log`/`inbox` row from the index.)
|
|
126
126
|
|
|
127
127
|
The schema (`packages/daemon/src/db/schema.ts`):
|
|
128
128
|
|
|
@@ -37,7 +37,7 @@ ask_examples:
|
|
|
37
37
|
- Can two wikis live in nested folders?
|
|
38
38
|
locale: en-US
|
|
39
39
|
created: 2026-05-21
|
|
40
|
-
updated: 2026-
|
|
40
|
+
updated: 2026-06-07
|
|
41
41
|
keywords:
|
|
42
42
|
- wiki workspace
|
|
43
43
|
- workspace
|
|
@@ -98,7 +98,7 @@ side-by-side wikis as you have distinct knowledge domains.
|
|
|
98
98
|
|---|---|---|
|
|
99
99
|
| Root path | `$PA_DATA_DIR/context/knowledge/wiki/<name>` (daemon-owned, inside the context vault) | Any path you pick (typically an existing Obsidian vault) |
|
|
100
100
|
| Writes | Atomic local-fs writes | Atomic local-fs writes when permitted; Obsidian-CLI fallback for sandboxed paths |
|
|
101
|
-
| Backup surface |
|
|
101
|
+
| Backup surface | On-disk `.snapshots/<timestamp>/` tree under the workspace root | git auto-commit (when the vault is git-tracked) + sibling backup mirror under `90_meta/health/pre-migrate-<date>/` |
|
|
102
102
|
| iCloud-friendly | Yes (lives in `~/.personal-agent`) | Yes via the Obsidian CLI fallback (requires the Obsidian app running) |
|
|
103
103
|
| Best for | First-time users, isolated wiki, no Obsidian dependency | Power users with an existing Obsidian vault they want the agent to extend |
|
|
104
104
|
|
|
@@ -31,7 +31,7 @@ keywords:
|
|
|
31
31
|
- dashboard onboarding
|
|
32
32
|
- health pill
|
|
33
33
|
created: 2026-04-27
|
|
34
|
-
updated: 2026-
|
|
34
|
+
updated: 2026-06-07
|
|
35
35
|
related:
|
|
36
36
|
- getting-started/01-what-is-this
|
|
37
37
|
- getting-started/03-what-can-this-do
|
|
@@ -55,8 +55,10 @@ health pill, a paired messaging app, and a backend the agent can call.
|
|
|
55
55
|
## What you should see right now
|
|
56
56
|
|
|
57
57
|
If the dashboard just opened, you are on `/setup` — the setup wizard.
|
|
58
|
-
The dashboard
|
|
59
|
-
|
|
58
|
+
The dashboard sends you back to this page until the required steps are
|
|
59
|
+
done (Basics, Vault, a main backend, and the Customize Rules step that
|
|
60
|
+
saves your management rules). Messaging and the other integrations are
|
|
61
|
+
skippable in the wizard. Run through it once, top to bottom.
|
|
60
62
|
|
|
61
63
|
## Steps
|
|
62
64
|
|
|
@@ -52,7 +52,7 @@ context_files:
|
|
|
52
52
|
api_endpoints:
|
|
53
53
|
- POST /api/knowledge/import
|
|
54
54
|
created: 2026-04-25
|
|
55
|
-
updated: 2026-
|
|
55
|
+
updated: 2026-06-07
|
|
56
56
|
related:
|
|
57
57
|
- getting-started/02-first-steps
|
|
58
58
|
- getting-started/03-what-can-this-do
|
|
@@ -273,7 +273,7 @@ Shortest path from zero to that:
|
|
|
273
273
|
- Max budget (USD): `0.20` (a generous per-execute override; the
|
|
274
274
|
form default is `0.05`)
|
|
275
275
|
- Description: paste the four numbered steps above verbatim.
|
|
276
|
-
3. **Watch the next firing in
|
|
276
|
+
3. **Watch the next firing in Agent Log** and iterate. The vault file
|
|
277
277
|
at `~/.personal-agent/context/policies/routines/custom/morning-deep-prep.md`
|
|
278
278
|
is a plain Markdown file: edit the `## Checks` body to refine the
|
|
279
279
|
step wording, or the `cron:` field in the YAML frontmatter to
|
|
@@ -35,7 +35,7 @@ ask_examples:
|
|
|
35
35
|
- What is an observation?
|
|
36
36
|
locale: en-US
|
|
37
37
|
created: 2026-04-25
|
|
38
|
-
updated: 2026-
|
|
38
|
+
updated: 2026-06-07
|
|
39
39
|
keywords:
|
|
40
40
|
- terminology
|
|
41
41
|
- vocabulary
|
|
@@ -111,8 +111,8 @@ enabled as fallbacks.
|
|
|
111
111
|
## Browser History (B-3)
|
|
112
112
|
|
|
113
113
|
Local-only history poller that reads the browser's own SQLite database
|
|
114
|
-
(
|
|
115
|
-
observations. Drives the **research cluster** derivation, the weekly
|
|
114
|
+
(Chromium-based browsers — Chrome, Chromium, Edge, Brave, Comet, Atlas)
|
|
115
|
+
and records page visits as observations. Drives the **research cluster** derivation, the weekly
|
|
116
116
|
reload-memory block, and the [`!checks`](features/messaging/bang-commands.md)
|
|
117
117
|
on-demand reload tally. No content is uploaded; only URLs, titles, and
|
|
118
118
|
visit timings the browser itself recorded. See
|
|
@@ -206,7 +206,7 @@ connected service: `direct | delegated | native | disabled`.
|
|
|
206
206
|
MCP / skill harness — `outlook_mail`, `outlook_calendar`).
|
|
207
207
|
- **disabled** — silence; no poller, no native handoff.
|
|
208
208
|
|
|
209
|
-
Mode lookup goes through `
|
|
209
|
+
Mode lookup goes through `readIntegrationState(db, key)`; never
|
|
210
210
|
hardcode an integration reference outside
|
|
211
211
|
`packages/shared/src/integrations.ts`. See
|
|
212
212
|
[Delegated Mode](concepts/delegated-mode.md).
|
|
@@ -27,7 +27,7 @@ ask_examples:
|
|
|
27
27
|
- What does the pre-compile snapshot do?
|
|
28
28
|
locale: en-US
|
|
29
29
|
created: 2026-05-12
|
|
30
|
-
updated: 2026-
|
|
30
|
+
updated: 2026-06-07
|
|
31
31
|
keywords:
|
|
32
32
|
- wiki budget
|
|
33
33
|
- wiki cost
|
|
@@ -126,7 +126,7 @@ before `!compile full`** enabled, Aitne runs:
|
|
|
126
126
|
git -C <vault> status --porcelain
|
|
127
127
|
# must be empty — dirty trees refuse the operation entirely
|
|
128
128
|
git -C <vault> add -A
|
|
129
|
-
git -C <vault> commit -m "aitne wiki: pre-compile snapshot <ISO-8601-ts>"
|
|
129
|
+
git -C <vault> commit --allow-empty -m "aitne wiki: pre-compile snapshot <ISO-8601-ts>"
|
|
130
130
|
```
|
|
131
131
|
|
|
132
132
|
before the compile session starts. The commit message is
|
|
@@ -27,7 +27,7 @@ ask_examples:
|
|
|
27
27
|
- How do I connect an Outlook mailbox?
|
|
28
28
|
locale: en-US
|
|
29
29
|
created: 2026-04-25
|
|
30
|
-
updated: 2026-
|
|
30
|
+
updated: 2026-06-07
|
|
31
31
|
keywords:
|
|
32
32
|
- mail
|
|
33
33
|
- imap
|
|
@@ -48,6 +48,7 @@ api_endpoints:
|
|
|
48
48
|
- /api/config/mail/app-password
|
|
49
49
|
config_keys:
|
|
50
50
|
- enabledMailProviders
|
|
51
|
+
- mailPollIntervalSeconds
|
|
51
52
|
context_files:
|
|
52
53
|
- state/today.md
|
|
53
54
|
---
|
|
@@ -96,7 +97,8 @@ kind authenticates differently:
|
|
|
96
97
|
4. Save. Registration succeeds regardless of the enabled-providers
|
|
97
98
|
setting (`enabledMailProviders`); the account goes live only when
|
|
98
99
|
you flip its **Enable** toggle on the mail card.
|
|
99
|
-
5. The
|
|
100
|
+
5. The account is picked up on the next mail poll tick (default every
|
|
101
|
+
180 seconds, configurable via `mailPollIntervalSeconds`).
|
|
100
102
|
|
|
101
103
|
## Verification
|
|
102
104
|
|
|
@@ -30,7 +30,7 @@ ask_examples:
|
|
|
30
30
|
- How do I run !trace against a non-default wiki workspace?
|
|
31
31
|
locale: en-US
|
|
32
32
|
created: 2026-05-12
|
|
33
|
-
updated: 2026-
|
|
33
|
+
updated: 2026-06-07
|
|
34
34
|
keywords:
|
|
35
35
|
- "!trace"
|
|
36
36
|
- "!connect"
|
|
@@ -187,6 +187,7 @@ Every report is a regular wiki file under `30_outputs/`. You can:
|
|
|
187
187
|
## Cost Envelope
|
|
188
188
|
|
|
189
189
|
Both commands run at Sonnet medium tier with a default $1.00
|
|
190
|
-
spend cap per run, identical to `!ask`. The
|
|
191
|
-
|
|
192
|
-
see
|
|
190
|
+
spend cap per run, identical to `!ask`. The **Settings → Wiki**
|
|
191
|
+
overview shows a single 7-day cost stat across all wiki commands;
|
|
192
|
+
to see per-command spend, filter the timeline on `/wiki/timeline`
|
|
193
|
+
by `wiki.trace` or `wiki.connect`.
|
|
@@ -29,7 +29,7 @@ ask_examples:
|
|
|
29
29
|
- How do I install the aitne npm package?
|
|
30
30
|
locale: en-US
|
|
31
31
|
created: 2026-04-25
|
|
32
|
-
updated: 2026-
|
|
32
|
+
updated: 2026-06-07
|
|
33
33
|
keywords:
|
|
34
34
|
- install
|
|
35
35
|
- first run
|
|
@@ -60,7 +60,7 @@ through the setup wizard.
|
|
|
60
60
|
Google (`GEMINI_API_KEY` / `GOOGLE_API_KEY`). API keys are the
|
|
61
61
|
recommended and provider-supported way to run Aitne. If you skip
|
|
62
62
|
the key, Aitne falls back to the corresponding CLI's local
|
|
63
|
-
subscription login (`claude`, `codex login`, `gemini
|
|
63
|
+
subscription login (`claude auth login`, `codex login`, `gemini`); see
|
|
64
64
|
[Costs and Quotas](../concepts/costs-and-quotas.md) for the trade-
|
|
65
65
|
offs and the provider policies that apply.
|
|
66
66
|
- The CLI binary for whichever backend you pick (Claude Code, Codex
|
|
@@ -28,7 +28,7 @@ ask_examples:
|
|
|
28
28
|
- What is a taxonomy candidate?
|
|
29
29
|
locale: en-US
|
|
30
30
|
created: 2026-05-12
|
|
31
|
-
updated: 2026-
|
|
31
|
+
updated: 2026-06-07
|
|
32
32
|
keywords:
|
|
33
33
|
- wiki health
|
|
34
34
|
- wiki lint
|
|
@@ -68,7 +68,7 @@ notes itself.
|
|
|
68
68
|
## When to Run
|
|
69
69
|
|
|
70
70
|
`!lint` runs on the `wiki.lint` process key (medium tier — Sonnet
|
|
71
|
-
by default, $
|
|
71
|
+
by default, $0.50 budget envelope) and never changes your notes.
|
|
72
72
|
Run it whenever you want a snapshot of wiki health. A practical
|
|
73
73
|
cadence:
|
|
74
74
|
|
|
@@ -23,7 +23,7 @@ ask_examples:
|
|
|
23
23
|
- Can I disable everything for a week?
|
|
24
24
|
locale: en-US
|
|
25
25
|
created: 2026-04-25
|
|
26
|
-
updated: 2026-
|
|
26
|
+
updated: 2026-06-07
|
|
27
27
|
keywords:
|
|
28
28
|
- pause agent
|
|
29
29
|
- stop agent
|
|
@@ -38,6 +38,7 @@ related:
|
|
|
38
38
|
ui_anchors:
|
|
39
39
|
- /settings/schedule
|
|
40
40
|
- /settings/routines
|
|
41
|
+
- /agents
|
|
41
42
|
config_keys:
|
|
42
43
|
- hourlyCheckEnabled
|
|
43
44
|
- monthlyReviewEnabled
|
|
@@ -88,10 +89,13 @@ If you want to mute specific behaviour rather than pause everything, use
|
|
|
88
89
|
Routines still run; they just don't notify you.
|
|
89
90
|
|
|
90
91
|
Morning (fires at the day boundary, default 04:00), evening (18:00),
|
|
91
|
-
and weekly (Fri
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
92
|
+
and weekly (Fri 19:00) reviews each have a per-routine Enable/Disable
|
|
93
|
+
toggle on the `/agents` page — open `/agents/<slug>` (e.g.
|
|
94
|
+
`/agents/weekly-review`) and click Disable (a stop-warning confirmation
|
|
95
|
+
appears for these system agents). To halt all of them at once, use
|
|
96
|
+
`!stop` above instead. You can still edit each routine's instructions
|
|
97
|
+
on `/settings/routines`, but that page does not turn the built-in
|
|
98
|
+
reviews on or off.
|
|
95
99
|
|
|
96
100
|
## Last resort: stop the daemon
|
|
97
101
|
|
|
@@ -29,7 +29,7 @@ ask_examples:
|
|
|
29
29
|
- Where do I paste my API key?
|
|
30
30
|
locale: en-US
|
|
31
31
|
created: 2026-04-25
|
|
32
|
-
updated: 2026-
|
|
32
|
+
updated: 2026-06-07
|
|
33
33
|
keywords:
|
|
34
34
|
- setup
|
|
35
35
|
- wizard
|
|
@@ -58,6 +58,7 @@ ui_anchors:
|
|
|
58
58
|
- /settings/models
|
|
59
59
|
- /connections
|
|
60
60
|
- /settings/routines
|
|
61
|
+
- /settings/schedule
|
|
61
62
|
---
|
|
62
63
|
|
|
63
64
|
# Setup Wizard Walkthrough
|
|
@@ -187,10 +188,12 @@ character prompt referenced in Step 1 actually gets written.
|
|
|
187
188
|
|
|
188
189
|
## After the wizard
|
|
189
190
|
|
|
190
|
-
Routines are **not** configured in the wizard.
|
|
191
|
-
morning / evening / weekly
|
|
192
|
-
`/settings/routines
|
|
193
|
-
|
|
191
|
+
Routines are **not** configured in the wizard. Edit the per-cadence
|
|
192
|
+
rulebooks (morning / evening / weekly / hourly) and register custom cron
|
|
193
|
+
routines post-setup on `/settings/routines`; the hourly-check master
|
|
194
|
+
switch, active / quiet hours, and the monthly review live on
|
|
195
|
+
`/settings/schedule`. Repositories are also added after setup, from
|
|
196
|
+
Connections → Repositories.
|
|
194
197
|
|
|
195
198
|
## Verification
|
|
196
199
|
|
|
@@ -26,7 +26,7 @@ ask_examples:
|
|
|
26
26
|
- Why is Split greyed out?
|
|
27
27
|
locale: en-US
|
|
28
28
|
created: 2026-05-12
|
|
29
|
-
updated: 2026-
|
|
29
|
+
updated: 2026-06-07
|
|
30
30
|
keywords:
|
|
31
31
|
- external vault
|
|
32
32
|
- existing obsidian vault
|
|
@@ -68,11 +68,11 @@ vs Split**.
|
|
|
68
68
|
|
|
69
69
|
Open **`/settings/wiki`** in the dashboard (or open `/wiki` and follow
|
|
70
70
|
the **Enable Wiki** button — both land on the same page). If you have
|
|
71
|
-
no workspace yet, the page shows two
|
|
71
|
+
no workspace yet, the page shows two options:
|
|
72
72
|
|
|
73
|
-
- **Enable
|
|
74
|
-
- **
|
|
75
|
-
the folder picker.
|
|
73
|
+
- **Internal** → **Enable internal wiki** — uses the daemon-owned root.
|
|
74
|
+
- **Existing Obsidian vault** → **Use this folder** — points at the
|
|
75
|
+
path you choose with the folder picker.
|
|
76
76
|
|
|
77
77
|
### Picking the path
|
|
78
78
|
|
|
@@ -110,7 +110,7 @@ levels:
|
|
|
110
110
|
an existing wiki layout is detected, the wizard will surface the
|
|
111
111
|
Adopt / Migrate decision in Step 3.
|
|
112
112
|
|
|
113
|
-
The **
|
|
113
|
+
The **Use this folder** button is greyed out while the banner
|
|
114
114
|
is an error so you cannot fire a workspace-create that the daemon
|
|
115
115
|
already knows will fail.
|
|
116
116
|
|
|
@@ -28,7 +28,7 @@ ask_examples:
|
|
|
28
28
|
- How do I list registered backends?
|
|
29
29
|
locale: en-US
|
|
30
30
|
created: 2026-04-25
|
|
31
|
-
updated: 2026-
|
|
31
|
+
updated: 2026-06-08
|
|
32
32
|
keywords:
|
|
33
33
|
- API
|
|
34
34
|
- REST
|
|
@@ -54,7 +54,7 @@ The daemon serves a single Hono app on `127.0.0.1:PA_API_PORT` (default
|
|
|
54
54
|
`8321`). Almost all endpoints are mounted under `/api/*`; the lone
|
|
55
55
|
exception is the GitHub webhook receiver, mounted at root `/webhook/github`.
|
|
56
56
|
**Source of truth:** `packages/daemon/src/api/server.ts` (`createApp`)
|
|
57
|
-
registers most route groups, with
|
|
57
|
+
registers most route groups, with one post-compose mount in
|
|
58
58
|
`packages/daemon/src/bootstrap/api.ts` (the docs corpus + docs-QA, wired
|
|
59
59
|
only after the indexer handle exists). Each group lives in its own file
|
|
60
60
|
or directory under `packages/daemon/src/api/routes/`.
|
|
@@ -93,13 +93,13 @@ callers pass it as `Authorization: Bearer <token>`.
|
|
|
93
93
|
| Activity sources | `/api/activity-sources/*` | `activity-sources.ts` | Activity feed sources. |
|
|
94
94
|
| Entities | `/api/entities/*` | `entities.ts` | Entity registry CRUD. |
|
|
95
95
|
| SoT bindings | `/api/sot-bindings/*` | `sot-bindings.ts` | Source-of-truth bindings (vault ↔ daemon). |
|
|
96
|
-
| Voice | `/api/voice/*` | `voice.ts` |
|
|
96
|
+
| Voice | `/api/voice/*` | `voice.ts` | Whisper model install / status / weight-removal opt-in surface for the dashboard. |
|
|
97
97
|
|
|
98
98
|
### Integrations
|
|
99
99
|
|
|
100
100
|
| Group | Path | Source | Purpose |
|
|
101
101
|
|---|---|---|---|
|
|
102
|
-
| Mail | `/api/mail/*` | `mail
|
|
102
|
+
| Mail | `/api/mail/*` | `mail/` | Multi-provider mail proxy (Gmail / Outlook / Yahoo / iCloud / IMAP) + FTS5 local search. |
|
|
103
103
|
| Calendar | `/api/calendar/*` | `calendar.ts` | Google Calendar proxy. |
|
|
104
104
|
| Apple Calendar | `/api/apple-calendar/*` | `apple-calendar.ts` | macOS Calendar.app bridge. |
|
|
105
105
|
| Notion | `/api/notion/*` | `notion.ts` | Notion proxy. |
|
|
@@ -107,7 +107,7 @@ callers pass it as `Authorization: Bearer <token>`.
|
|
|
107
107
|
| Git | `/api/git/*`, `/api/git-accounts/*` | `git.ts`, `git-accounts.ts`, `git-templates.ts` | Read-only git proxy (`/api/git/{log,diff,show}`), repo templates (`/api/git/templates/*`), and git-account CRUD (`/api/git-accounts/*`). |
|
|
108
108
|
| Repositories | `/api/repositories/*` | `repositories.ts` | Unified repository CRUD (replaces split Git/GitHub settings). |
|
|
109
109
|
| GitHub | `/api/github/*`, `POST /webhook/github` | `github.ts` | GitHub proxy and webhook receiver (mounted under `/`, not `/api`). |
|
|
110
|
-
| Integrations | `/api/integrations/*` | `integrations
|
|
110
|
+
| Integrations | `/api/integrations/*` | `integrations/`, `integrations-reconcile.ts` | Integration mode CRUD (`direct \| delegated \| native \| disabled`), live probe endpoint, mode reconciliation. |
|
|
111
111
|
| Delegated sync | `/api/delegated/*`, `/api/delegated-sync/*` | `delegated.ts`, `delegated-sync.ts` | Delegated worker control + opt-in cadence config. |
|
|
112
112
|
| MCP | `/api/mcp/*` | `mcp.ts` | Per-session MCP materializer. |
|
|
113
113
|
|
|
@@ -129,6 +129,16 @@ callers pass it as `Authorization: Bearer <token>`.
|
|
|
129
129
|
| Books | `/api/books/*` | `books.ts` | Reading-list CRUD. |
|
|
130
130
|
| Travel bookings | `/api/travel-bookings/*` | `travel-bookings.ts` | Travel-booking CRUD. |
|
|
131
131
|
|
|
132
|
+
### Feedback learning
|
|
133
|
+
|
|
134
|
+
All three routes are `RiskTier.Autonomous`. `POST /api/feedback` server-restricts `source` to `explicit` / `self_critique` — `behavioral` signals are daemon-only (written by `SignalDetector`) and a `behavioral` body returns 400.
|
|
135
|
+
|
|
136
|
+
| Group | Path | Source | Purpose |
|
|
137
|
+
|---|---|---|---|
|
|
138
|
+
| Feedback | `POST /api/feedback` | `feedback.ts` | Record an explicit or self-critique feedback signal. Dedups on `(scope_type, scope_ref, summary)` within 10 min. When `feedbackLearningEnabled=false` returns `200 {disabled:true}` without recording. |
|
|
139
|
+
| Feedback consume | `POST /api/feedback/consume` | `feedback.ts` | `{ids: number[], lessonRef?}` → `{consumed, notFound}`. Marks signals consumed after a consolidation pass. |
|
|
140
|
+
| Feedback lessons | `GET /api/feedback/lessons` | `feedback.ts` | Read-only lesson-store overview for the dashboard — global `agent` store plus every per-agent store on disk, with cap-utilisation metrics. |
|
|
141
|
+
|
|
132
142
|
### Docs and wiki
|
|
133
143
|
|
|
134
144
|
| Group | Path | Source | Purpose |
|
|
@@ -28,7 +28,7 @@ ask_examples:
|
|
|
28
28
|
- How do I check my install with aitne doctor?
|
|
29
29
|
locale: en-US
|
|
30
30
|
created: 2026-04-27
|
|
31
|
-
updated: 2026-
|
|
31
|
+
updated: 2026-06-07
|
|
32
32
|
keywords:
|
|
33
33
|
- aitne start
|
|
34
34
|
- aitne stop
|
|
@@ -95,7 +95,7 @@ needed.
|
|
|
95
95
|
| `aitne open` | Open the dashboard root in the default browser. |
|
|
96
96
|
| `aitne doctor` | Install-health checks (Node, ports, OS keychain, backend CLIs, native bindings, …). |
|
|
97
97
|
| `aitne audit [--since 24h] [--type X] [--result failed]` | Show the agent action log; flags filter by time, action type, result, or backend. `--json` for machine-readable. |
|
|
98
|
-
| `aitne run-now <job>` | Fire a daemon-internal maintenance job on demand. The only supported job today is `roadmap_maintenance`. Reads the API token from the macOS Keychain, so
|
|
98
|
+
| `aitne run-now <job>` | Fire a daemon-internal maintenance job on demand. The only supported job today is `roadmap_maintenance`. Reads the API token from the OS secret store (macOS Keychain, Windows DPAPI, Linux libsecret, or the encrypted file fallback), so it works on every supported platform. |
|
|
99
99
|
| `aitne verify [target]` | Run post-launch verification for a shipped design surface (e.g. `evening-review-slimdown`). |
|
|
100
100
|
| `aitne version [--json]` | Print version, Node version, install path, last build time. |
|
|
101
101
|
| `aitne update [--check]` | Print the npm command to upgrade. `--check` makes one network call to compare against the latest published version. |
|
|
@@ -150,7 +150,7 @@ and the cost-gate / approval semantics.
|
|
|
150
150
|
|---|---|---|
|
|
151
151
|
| `PA_DATA_DIR` | `~/.personal-agent` | Where logs, the SQLite DB, context Markdown, and prompts live. |
|
|
152
152
|
| `PA_API_PORT` | `8321` | Daemon HTTP port. |
|
|
153
|
-
| `PA_DASHBOARD_PORT` | `
|
|
153
|
+
| `PA_DASHBOARD_PORT` | `8322` | Dashboard port. |
|
|
154
154
|
|
|
155
155
|
All runtime state — PIDs, logs, SQLite DB, context Markdown, prompts —
|
|
156
156
|
lives under `PA_DATA_DIR`, **not** inside the repo.
|
|
@@ -78,7 +78,7 @@ ui_anchors:
|
|
|
78
78
|
- /settings/advanced
|
|
79
79
|
- /settings/models
|
|
80
80
|
created: 2026-04-25
|
|
81
|
-
updated: 2026-
|
|
81
|
+
updated: 2026-06-08
|
|
82
82
|
related:
|
|
83
83
|
- reference/api
|
|
84
84
|
- reference/cli-commands
|
|
@@ -93,7 +93,7 @@ The full `AgentConfig` schema lives in
|
|
|
93
93
|
`packages/shared/src/editable-config-keys.ts` govern what is editable
|
|
94
94
|
and when:
|
|
95
95
|
|
|
96
|
-
- **`EDITABLE_RUNTIME_KEY_TUPLE`** — the ~
|
|
96
|
+
- **`EDITABLE_RUNTIME_KEY_TUPLE`** — the ~130 keys mutable at runtime
|
|
97
97
|
via `PATCH /api/config`. Both the daemon and the dashboard import
|
|
98
98
|
from this tuple so the accepted-key set is enforced at compile time
|
|
99
99
|
in both packages.
|
|
@@ -117,7 +117,7 @@ Anything not in those tuples must be set via env or restart.
|
|
|
117
117
|
## Selected Keys
|
|
118
118
|
|
|
119
119
|
A representative slice of `EDITABLE_RUNTIME_KEY_TUPLE` — the full list
|
|
120
|
-
of ~
|
|
120
|
+
of ~130 keys is in `editable-config-keys.ts`. Names below are exact and
|
|
121
121
|
case-sensitive.
|
|
122
122
|
|
|
123
123
|
### Identity and timezone
|
|
@@ -125,7 +125,7 @@ case-sensitive.
|
|
|
125
125
|
| Key | Type | Notes |
|
|
126
126
|
|---|---|---|
|
|
127
127
|
| `agentDisplayName` | string | What the agent calls itself in DMs. |
|
|
128
|
-
| `character` | string |
|
|
128
|
+
| `character` | string | Free-text user-defined communication style / persona (max 1000 chars). When non-empty, rendered as a `## Character (user-defined)` block into each backend's instruction file. The agent profile itself is selected by ProcessKey, not by this key. |
|
|
129
129
|
| `timezone` | IANA tz | Empty falls back to the system tz. |
|
|
130
130
|
| `dayBoundaryHour` | 0–9 | Default `4`. Controls the agent-day rollover (must be an early-morning hour). |
|
|
131
131
|
| `primaryLanguage` | BCP-47 | Output language for DMs, journal, and Obsidian writes. Templates stay English-headered. |
|
|
@@ -237,6 +237,23 @@ case-sensitive.
|
|
|
237
237
|
| `advisorEnabled` | boolean | SDK advisor toggle. |
|
|
238
238
|
| `advisorModel` | string / null | Model id; default `null`. Validated against `ADVISOR_ALLOWED_MODELS`, which the SDK pins to `claude-sonnet-4-6` and `claude-opus-4-6` only. Newer Opus generations (`claude-opus-4-7`, `claude-opus-4-8`) are silently skipped by the SDK advisor path — see `docs/advisor.md`. |
|
|
239
239
|
|
|
240
|
+
### Feedback learning
|
|
241
|
+
|
|
242
|
+
The feedback learning loop (capture → nightly consolidation → injection of
|
|
243
|
+
durable lessons). All six knobs are runtime-editable via `PATCH /api/config`,
|
|
244
|
+
surfaced by `GET /config`, and tunable from the dashboard `/settings/lessons`
|
|
245
|
+
page. Defaults and ranges below are enforced in
|
|
246
|
+
`packages/daemon/src/settings/runtime-settings.ts`.
|
|
247
|
+
|
|
248
|
+
| Key | Type | Notes |
|
|
249
|
+
|---|---|---|
|
|
250
|
+
| `feedbackLearningEnabled` | boolean | Default `true` (env `FEEDBACK_LEARNING_ENABLED`). Master kill-switch for the whole loop — capture, consolidation, and injection. |
|
|
251
|
+
| `feedbackPromotionThreshold` | 1–10 | Default `2` (env `FEEDBACK_PROMOTION_THRESHOLD`). Weighted-evidence threshold a behavioral / self-critique lesson must clear before it becomes injectable. |
|
|
252
|
+
| `feedbackLessonMaxBytesGlobal` | 1024–32768 | Default `8192` (env `FEEDBACK_LESSON_MAX_BYTES_GLOBAL`). Byte cap for `policies/agent-lessons.md`. |
|
|
253
|
+
| `feedbackLessonMaxBytesPerAgent` | 512–16384 | Default `4096` (env `FEEDBACK_LESSON_MAX_BYTES_PER_AGENT`). Byte cap for each `policies/agents/<slug>/lessons.md`. |
|
|
254
|
+
| `feedbackLessonStaleDays` | 7–365 | Default `60` (env `FEEDBACK_LESSON_STALE_DAYS`). Lessons whose `last=` date is older are pruned, except `kind=constraint` (durable). |
|
|
255
|
+
| `feedbackSignalRetentionDays` | 30–365 | Default `180` (env `FEEDBACK_SIGNAL_RETENTION_DAYS`). Consumed `feedback_signals` rows older than this are swept. |
|
|
256
|
+
|
|
240
257
|
## Routine Schedule Times Are Not Configurable
|
|
241
258
|
|
|
242
259
|
The morning, evening, weekly, and monthly routines fire at fixed times
|
|
@@ -25,7 +25,7 @@ ask_examples:
|
|
|
25
25
|
- Why can't the agent read my .env or SSH keys?
|
|
26
26
|
locale: en-US
|
|
27
27
|
created: 2026-04-25
|
|
28
|
-
updated: 2026-
|
|
28
|
+
updated: 2026-06-07
|
|
29
29
|
keywords:
|
|
30
30
|
- disallowedTools
|
|
31
31
|
- deniedTools
|
|
@@ -42,8 +42,9 @@ related:
|
|
|
42
42
|
# Disallowed Tools
|
|
43
43
|
|
|
44
44
|
There are two distinct deny layers — the **absolute-block layer**
|
|
45
|
-
(non-overridable) and the **default strict-mode list** (
|
|
46
|
-
relaxable in Allow mode or via
|
|
45
|
+
(non-overridable) and the **default strict-mode list** (`DEFAULT_DISALLOWED_TOOLS`
|
|
46
|
+
in `src/settings/runtime-settings.ts`, relaxable in Allow mode or via
|
|
47
|
+
`allowedToolsOverride`).
|
|
47
48
|
|
|
48
49
|
## Absolute-block layer (cannot be widened past)
|
|
49
50
|
|
|
@@ -78,7 +79,8 @@ managed-Chromium chokepoints above).
|
|
|
78
79
|
|
|
79
80
|
## Default strict-mode list (relaxable)
|
|
80
81
|
|
|
81
|
-
`
|
|
82
|
+
`DEFAULT_DISALLOWED_TOOLS` (in `src/settings/runtime-settings.ts`, the
|
|
83
|
+
seed for `config.disallowedTools`) ships with additional defaults that the
|
|
82
84
|
operator can widen out of via `allowedToolsOverride` or by switching
|
|
83
85
|
to Allow mode. These include `Bash(chmod *)`, `Bash(chown *)`,
|
|
84
86
|
`Bash(git push --force *)`, `Bash(git reset --hard *)` and a handful
|
|
@@ -34,7 +34,7 @@ ask_examples:
|
|
|
34
34
|
- Which files can the agent write to?
|
|
35
35
|
locale: en-US
|
|
36
36
|
created: 2026-05-18
|
|
37
|
-
updated: 2026-
|
|
37
|
+
updated: 2026-06-08
|
|
38
38
|
keywords:
|
|
39
39
|
- context
|
|
40
40
|
- knowledge
|
|
@@ -182,6 +182,11 @@ the write-permission whitelist in `packages/daemon/src/api/routes/context/permis
|
|
|
182
182
|
├── journal-export.md Inclusion / exclusion rules for exporting journal/daily/
|
|
183
183
|
├── integrations.md Integration-mode snapshot (daemon-rendered,
|
|
184
184
|
│ chokidar-watched at this new path)
|
|
185
|
+
├── agent-lessons.md Feedback Learning Loop global lessons (lazy)
|
|
186
|
+
├── agents/ User-authored Agent definitions (lazy)
|
|
187
|
+
│ └── <slug>/
|
|
188
|
+
│ ├── agent.md
|
|
189
|
+
│ └── lessons.md Per-agent Feedback Learning Loop lessons (lazy)
|
|
185
190
|
├── management-captures/ One captured policy per file
|
|
186
191
|
│ ├── _index.md
|
|
187
192
|
│ └── <slug>.md
|
|
@@ -237,7 +242,8 @@ runner merges that file into the reconciler block.)
|
|
|
237
242
|
The current agent-day's working view. Daemon-managed structure:
|
|
238
243
|
|
|
239
244
|
```
|
|
240
|
-
#
|
|
245
|
+
# YYYY-MM-DD (day-of-week) — line 1 is the canonical agent-day date
|
|
246
|
+
> Day type: … — parsed by every event handler
|
|
241
247
|
## User Schedule — events for the day (from calendar observers)
|
|
242
248
|
## User Tasks — what you need to do today
|
|
243
249
|
## Agent Plan — what the agent intends to do today
|
|
@@ -558,6 +564,8 @@ listed is read-only via the API.
|
|
|
558
564
|
| `state/profile-questions` · `state/activity/*` | `PUT`, `PATCH` |
|
|
559
565
|
| `identity/_index` · `identity/*` | `PUT`, `PATCH` |
|
|
560
566
|
| `policies/_index` · `policies/*` (top-level files) | `PUT`, `PATCH` |
|
|
567
|
+
| `policies/agent-lessons` | `PUT`, `PATCH` (Feedback Learning Loop global lessons store) |
|
|
568
|
+
| `policies/agents/{slug}/{file}` | `PUT`, `PATCH`, `DELETE` (user-authored Agent definitions) |
|
|
561
569
|
| `policies/routines/_index` · `policies/routines/*` | `PUT`, `PATCH` |
|
|
562
570
|
| `policies/routines/custom/*` | `PUT`, `PATCH`, `DELETE` |
|
|
563
571
|
| `plans/projects/_index` · `plans/projects/*` | `PUT`, `PATCH` |
|
|
@@ -570,6 +578,7 @@ listed is read-only via the API.
|
|
|
570
578
|
| `state/inbox/*` · `state/scratch/*` | `PUT`, `PATCH`, `DELETE` |
|
|
571
579
|
| `journal/agent` | `PUT` once (create-only), then `PATCH` (append) |
|
|
572
580
|
| `policies/management-captures/_index` · `policies/management-captures/*` | `PUT`, `PATCH` |
|
|
581
|
+
| `research/*` | `PUT`, `PATCH` (browser-history research-cluster journals) |
|
|
573
582
|
|
|
574
583
|
> Legacy URL forms (`/api/context/today.md`, `/api/context/user/profile`, `/api/context/rules/management`, `/api/context/agent/journal`, etc.) are normalized to the class-prefixed canonical paths in-process by `core/context-vault-aliases.ts` before any of the above checks run. Normalization is not a redirect (no HTTP 3xx) so legacy `curl -X PUT/PATCH` callers keep working. The alias bridge lives for one minor release after PR-6's content sweep lands. <!-- drift-allow -->
|
|
575
584
|
|
|
@@ -41,7 +41,7 @@ keywords:
|
|
|
41
41
|
- delegated_task
|
|
42
42
|
- gmail_classify
|
|
43
43
|
created: 2026-04-25
|
|
44
|
-
updated: 2026-
|
|
44
|
+
updated: 2026-06-07
|
|
45
45
|
config_keys:
|
|
46
46
|
- monthlyReviewEnabled
|
|
47
47
|
- delegatedTaskHeavyEnabled
|
|
@@ -80,7 +80,7 @@ The **default tier** column maps to a model size, not a specific id:
|
|
|
80
80
|
| `routine.morning_routine_journal` | Stage B of the morning-routine pipeline — authors `journal/daily/<yesterday>.md` from the daemon-prepared journal skeleton. | lite | yes |
|
|
81
81
|
| `routine.today_refresh` | Calendar-drift-triggered (calendar change touching today's items; 5-min dedup, fires ~30s later) — drift-refresh of `state/today.md` | medium | yes |
|
|
82
82
|
| `routine.evening_review` | Daily at 18:00 local (fixed) | medium | yes |
|
|
83
|
-
| `routine.weekly_review` | Friday
|
|
83
|
+
| `routine.weekly_review` | Friday 19:00 local (fixed) | medium | yes |
|
|
84
84
|
| `routine.monthly_review` | Monthly cadence (gated OFF by default — kill switch `monthlyReviewEnabled` in runtime settings). The routine itself is off by default, but its backend/tier binding is still configurable. | medium | yes |
|
|
85
85
|
| `routine.hourly_check` | Every `hourlyCheckIntervalMinutes` (default 60) inside the active window | medium | yes |
|
|
86
86
|
| `routine.hourly_check.triage` | Stage 2 triage gate of every hourly check | lite | yes |
|
|
@@ -34,7 +34,7 @@ keywords:
|
|
|
34
34
|
- wiki skill
|
|
35
35
|
- notify skill
|
|
36
36
|
created: 2026-04-25
|
|
37
|
-
updated: 2026-
|
|
37
|
+
updated: 2026-06-07
|
|
38
38
|
ui_anchors:
|
|
39
39
|
- /knowledge?tab=skills
|
|
40
40
|
process_keys:
|
|
@@ -63,7 +63,8 @@ type (`browser-task`, on owner DMs). The table below is the canonical roster.
|
|
|
63
63
|
|
|
64
64
|
| Slug | Purpose |
|
|
65
65
|
|---|---|
|
|
66
|
-
| `agent-actions` |
|
|
66
|
+
| `agent-actions` | Self-report structured metadata (dayType, anomalies, inbox stats, files-touched) into the session's own `agent_actions` row so daemon-side consumers read structured data instead of parsing prose. Loaded near the end of morning-routine / dispatcher sessions. |
|
|
67
|
+
| `agent-create` | Register a durable, named recurring Agent that fires on a cron cadence via `POST /api/agents`. For ongoing autonomous work (not one-time reminders → `schedule`, not background app-data fetches → `managed-tasks`). Conditional skill loaded on owner DMs / mentions when the message looks like a recurring-work request (gated by `agentCreateActiveForDm`). |
|
|
67
68
|
| `attach` | Attach a generated or downloaded file to the agent's reply when the user expects a file artifact. |
|
|
68
69
|
| `browser-history` | Read normalised browser activity through `/api/browser-history/*`. Used by research-cluster journal updates, accept-path dispatches, owner pulls of shopping / reload traces, and the morning research summary. Never reads browser SQLite or profile dirs directly. |
|
|
69
70
|
| `browser-history-respond` | Bridge the owner's natural-language reply to a research-offer DM ("dig deeper" / "summarise") into a structured `/api/browser-history/offers/<slug>/{accept,decline}` call. |
|
|
@@ -86,7 +87,7 @@ type (`browser-task`, on owner DMs). The table below is the canonical roster.
|
|
|
86
87
|
| `today` | Read or write `state/today.md` — morning routines, hourly checks, DMs that need a today snapshot. |
|
|
87
88
|
| `user-interview` | Manage the profile-interview queue at `state/profile-questions.md`; ask one question at a time. |
|
|
88
89
|
| `user-profile` | Record user facts — identity, people, work, expertise, habits, goals — into the `identity/*` slices (`profile.md`, `people.md`, `work.md`, …). |
|
|
89
|
-
| `wiki
|
|
90
|
+
| `wiki-*` | Build and maintain the personal wiki workspace — `!ingest` / `!compile` / `!ask` / `!lint` / `!trace` / `!connect`. Split into per-process sub-skills under `agent-assets/skills/wiki/` (`wiki-vault-rules`, `wiki-ingest`, `wiki-compile`, `wiki-ask`, `wiki-lint`, `wiki-trace`, `wiki-connect`, `wiki-graduate`), each loaded for its matching `wiki.*` ProcessKey. |
|
|
90
91
|
|
|
91
92
|
## How skills are sourced
|
|
92
93
|
|
|
@@ -100,4 +101,4 @@ A subset of these skills' sections (knowledge layout, routing tables, search
|
|
|
100
101
|
recipes, etc.) is refined at runtime through JSON **overlays** maintained by
|
|
101
102
|
the skill-curation loop. The seed files in `agent-assets/skills/` are never
|
|
102
103
|
rewritten — overlays are applied at session-init by the `SkillsCompiler` and
|
|
103
|
-
live under `<dataDir>/overlays/<
|
|
104
|
+
live under `<dataDir>/skill-curation-overlays/<slug>/<section-id>.json`.
|