@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.
- package/README.md +4 -0
- package/agent-assets/agent-profiles/background-task.md +8 -1
- package/agent-assets/agent-profiles/routine-fetch-window.md +11 -0
- package/agent-assets/agents/evening-review/agent.md +6 -2
- package/agent-assets/agents/lesson-maintenance/agent.md +56 -0
- package/agent-assets/agents/morning-routine/agent.md +10 -6
- package/agent-assets/agents/source-librarian/agent.md +51 -0
- package/agent-assets/docs/concepts/agent-day.md +15 -15
- package/agent-assets/docs/concepts/auth-health.md +10 -7
- package/agent-assets/docs/concepts/backends-and-tiers.md +34 -23
- package/agent-assets/docs/concepts/costs-and-quotas.md +10 -10
- package/agent-assets/docs/concepts/delegated-mode.md +18 -18
- package/agent-assets/docs/concepts/memory-model.md +25 -24
- package/agent-assets/docs/concepts/observations.md +27 -19
- package/agent-assets/docs/concepts/process-keys.md +25 -26
- package/agent-assets/docs/concepts/routines.md +18 -17
- package/agent-assets/docs/concepts/safety-and-execution.md +20 -17
- package/agent-assets/docs/concepts/safety-model.md +16 -15
- package/agent-assets/docs/concepts/skills.md +7 -4
- package/agent-assets/docs/features/integrations/browser-history.md +52 -47
- package/agent-assets/docs/features/integrations/calendar.md +7 -7
- package/agent-assets/docs/features/integrations/git.md +15 -13
- package/agent-assets/docs/features/integrations/github.md +12 -10
- package/agent-assets/docs/features/integrations/mail.md +47 -45
- package/agent-assets/docs/features/integrations/notion.md +15 -11
- package/agent-assets/docs/features/integrations/obsidian.md +27 -23
- package/agent-assets/docs/features/lifestyle/git.md +7 -8
- package/agent-assets/docs/features/lifestyle/reading.md +11 -8
- package/agent-assets/docs/features/lifestyle/receipts.md +21 -22
- package/agent-assets/docs/features/lifestyle/travel-bookings.md +9 -9
- package/agent-assets/docs/features/memory-files/agent-journal.md +12 -10
- package/agent-assets/docs/features/memory-files/agent-lessons.md +46 -21
- package/agent-assets/docs/features/memory-files/projects.md +13 -14
- package/agent-assets/docs/features/memory-files/roadmap.md +16 -15
- package/agent-assets/docs/features/memory-files/schedule.md +10 -10
- package/agent-assets/docs/features/memory-files/today.md +18 -18
- package/agent-assets/docs/features/memory-files/user-profile.md +17 -17
- package/agent-assets/docs/features/messaging/bang-commands.md +15 -15
- package/agent-assets/docs/features/messaging/dashboard-chat.md +8 -7
- package/agent-assets/docs/features/messaging/discord.md +7 -5
- package/agent-assets/docs/features/messaging/overview.md +14 -14
- package/agent-assets/docs/features/messaging/pairing-and-magic-phrase.md +12 -12
- package/agent-assets/docs/features/messaging/slack.md +9 -8
- package/agent-assets/docs/features/messaging/telegram.md +7 -7
- package/agent-assets/docs/features/messaging/whatsapp.md +6 -6
- package/agent-assets/docs/features/operations/activity-and-conversations.md +9 -9
- package/agent-assets/docs/features/operations/approvals.md +13 -12
- package/agent-assets/docs/features/operations/backend-routing.md +38 -37
- package/agent-assets/docs/features/operations/browser-tasks.md +63 -57
- package/agent-assets/docs/features/operations/cost-tracking.md +5 -5
- package/agent-assets/docs/features/operations/managed-chromium.md +23 -22
- package/agent-assets/docs/features/operations/notifications.md +15 -15
- package/agent-assets/docs/features/operations/quiet-hours.md +14 -15
- package/agent-assets/docs/features/operations/schedule-approaching.md +16 -14
- package/agent-assets/docs/features/routines/activity-scan.md +14 -11
- package/agent-assets/docs/features/routines/custom-routines.md +9 -7
- package/agent-assets/docs/features/routines/evening-review.md +6 -7
- package/agent-assets/docs/features/routines/morning-routine.md +23 -22
- package/agent-assets/docs/features/routines/weekly-review.md +57 -51
- package/agent-assets/docs/features/wiki/commands.md +28 -22
- package/agent-assets/docs/features/wiki/cost-and-approval.md +28 -23
- package/agent-assets/docs/features/wiki/dashboard.md +22 -24
- package/agent-assets/docs/features/wiki/overview.md +17 -25
- package/agent-assets/docs/features/wiki/search.md +15 -17
- package/agent-assets/docs/features/wiki/workspaces.md +55 -56
- package/agent-assets/docs/getting-started/01-what-is-this.md +4 -5
- package/agent-assets/docs/getting-started/02-first-steps.md +12 -13
- package/agent-assets/docs/getting-started/03-what-can-this-do.md +7 -7
- package/agent-assets/docs/getting-started/04-first-day.md +4 -5
- package/agent-assets/docs/glossary.md +21 -19
- package/agent-assets/docs/guides/add-a-custom-routine.md +17 -12
- package/agent-assets/docs/guides/backup-and-restore.md +19 -16
- package/agent-assets/docs/guides/budget-and-cost-for-wiki.md +57 -62
- package/agent-assets/docs/guides/build-your-wiki.md +11 -12
- package/agent-assets/docs/guides/change-which-model-handles-x.md +30 -28
- package/agent-assets/docs/guides/connect-a-new-mail-account.md +30 -29
- package/agent-assets/docs/guides/explore-with-trace-and-connect.md +30 -32
- package/agent-assets/docs/guides/import-knowledge-file.md +9 -10
- package/agent-assets/docs/guides/install-and-run.md +9 -10
- package/agent-assets/docs/guides/maintain-wiki-health.md +10 -10
- package/agent-assets/docs/guides/migrate-machines.md +16 -14
- package/agent-assets/docs/guides/multiple-wikis-for-multiple-domains.md +12 -13
- package/agent-assets/docs/guides/pause-the-agent.md +25 -25
- package/agent-assets/docs/guides/reinstall-cleanly.md +13 -12
- package/agent-assets/docs/guides/setup-wizard.md +10 -12
- package/agent-assets/docs/guides/switch-default-backend.md +9 -9
- package/agent-assets/docs/guides/use-an-existing-obsidian-vault.md +9 -11
- package/agent-assets/docs/pages/activity.md +76 -0
- package/agent-assets/docs/pages/agents.md +78 -0
- package/agent-assets/docs/pages/analytics.md +70 -0
- package/agent-assets/docs/pages/browser.md +73 -0
- package/agent-assets/docs/pages/chat.md +67 -0
- package/agent-assets/docs/pages/connections.md +78 -0
- package/agent-assets/docs/pages/git.md +73 -0
- package/agent-assets/docs/pages/knowledge.md +75 -0
- package/agent-assets/docs/pages/overview.md +90 -0
- package/agent-assets/docs/pages/reading.md +65 -0
- package/agent-assets/docs/pages/settings.md +77 -0
- package/agent-assets/docs/pages/tasks.md +74 -0
- package/agent-assets/docs/pages/wiki.md +73 -0
- package/agent-assets/docs/reference/api.md +18 -17
- package/agent-assets/docs/reference/cli-commands.md +13 -10
- package/agent-assets/docs/reference/config.md +40 -35
- package/agent-assets/docs/reference/disallowed-tools.md +18 -17
- package/agent-assets/docs/reference/keyboard-shortcuts.md +6 -8
- package/agent-assets/docs/reference/knowledge-layout.md +10 -10
- package/agent-assets/docs/reference/process-keys.md +20 -22
- package/agent-assets/docs/reference/skills.md +18 -16
- package/agent-assets/docs/troubleshooting/auth-failed.md +13 -11
- package/agent-assets/docs/troubleshooting/dashboard-shows-degraded.md +10 -10
- package/agent-assets/docs/troubleshooting/fallback-keeps-firing.md +26 -24
- package/agent-assets/docs/troubleshooting/messaging-not-pairing.md +8 -9
- package/agent-assets/docs/troubleshooting/morning-routine-didnt-run.md +19 -18
- package/agent-assets/docs/troubleshooting/observation-not-detected.md +14 -15
- package/agent-assets/docs/troubleshooting/quota-exhausted.md +28 -26
- package/agent-assets/docs/troubleshooting/wiki-ingest-full-blocked.md +35 -34
- package/agent-assets/docs/troubleshooting/wiki-write-failed.md +21 -24
- package/agent-assets/playbooks/markdown-note.md +43 -0
- package/agent-assets/playbooks/monitoring.md +29 -0
- package/agent-assets/playbooks/research.md +47 -0
- package/agent-assets/skills/agent-create/SKILL.md +71 -32
- package/agent-assets/skills/agent-create/references/prompt-frame-extended.md +132 -0
- package/agent-assets/skills/agent-create/references/prompt-frame.md +125 -0
- package/agent-assets/skills/background-task/SKILL.md +13 -8
- package/agent-assets/skills/background-task-reply/SKILL.md +2 -2
- package/agent-assets/skills/board/SKILL.md +92 -0
- package/agent-assets/skills/browser-history/SKILL.md +3 -3
- package/agent-assets/skills/browser-history-respond/SKILL.md +3 -3
- package/agent-assets/skills/browser-task/SKILL.md +4 -2
- package/agent-assets/skills/context/seeds/file-responsibilities.seed.json +2 -1
- package/agent-assets/skills/schedule/SKILL.md +21 -18
- package/agent-assets/skills/schedule/references/batch.md +1 -1
- package/agent-assets/skills/schedule/references/model-selection.md +1 -1
- package/agent-assets/skills/schedule/references/prompt-frame.md +125 -0
- package/agent-assets/skills/sources/SKILL.md +68 -0
- package/agent-assets/skills/sources/curation.json +21 -0
- package/agent-assets/skills/sources/seeds/filing-rules.seed.json +25 -0
- package/agent-assets/skills/sources/seeds/source-collections.seed.json +20 -0
- package/agent-assets/skills/task/SKILL.md +82 -0
- package/agent-assets/task-flows/background_task.md +29 -3
- package/agent-assets/task-flows/message.received.dm.md +1 -1
- package/agent-assets/task-flows/routine.activity_scan.md +17 -2
- package/agent-assets/task-flows/routine.evening_review.md +72 -11
- package/agent-assets/task-flows/routine.fetch_window.md +21 -0
- package/agent-assets/task-flows/routine.monthly_review.md +3 -1
- package/agent-assets/task-flows/routine.morning_routine_today.md +26 -7
- package/agent-assets/task-flows/routine.source_maintenance.md +50 -0
- package/agent-assets/task-flows/scheduled.dm.md +29 -16
- package/agent-assets/templates/_manifest.json +1 -0
- package/agent-assets/templates/knowledge/sources/_index.md +19 -0
- package/package.json +4 -4
|
@@ -28,7 +28,6 @@ tags:
|
|
|
28
28
|
- github
|
|
29
29
|
- autonomous
|
|
30
30
|
- observations
|
|
31
|
-
- core
|
|
32
31
|
status: stable
|
|
33
32
|
ask_examples:
|
|
34
33
|
- What is the My Life › Git page for?
|
|
@@ -46,7 +45,7 @@ ask_examples:
|
|
|
46
45
|
- How much does one Architecture refresh cost?
|
|
47
46
|
locale: en-US
|
|
48
47
|
created: 2026-05-05
|
|
49
|
-
updated: 2026-
|
|
48
|
+
updated: 2026-07-01
|
|
50
49
|
keywords:
|
|
51
50
|
- my life
|
|
52
51
|
- git
|
|
@@ -102,18 +101,18 @@ The page lists every repository registered on
|
|
|
102
101
|
**Connections → Repositories** and exposes three collapsible sections
|
|
103
102
|
per repo (all open by default so the controls are visible at a glance):
|
|
104
103
|
|
|
105
|
-
1. **Polling** —
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
sources.
|
|
104
|
+
1. **Polling** — how often the agent checks this repo for new
|
|
105
|
+
activity. It overrides the global `gitPollIntervalSeconds` for
|
|
106
|
+
this repository alone, which is handy when one repo is busy and you
|
|
107
|
+
want it scanned more often (or the reverse). It also shows the most
|
|
108
|
+
recent observations gathered from that repo's polling sources.
|
|
110
109
|
2. **Triggers** — fire when matching Git or GitHub events arrive on
|
|
111
110
|
this repository. Triggers run **alongside** the project-wide
|
|
112
111
|
task-flow defaults, not in place of them. Each trigger has a
|
|
113
112
|
workdir mode (`local-clone` or `temp`); local-clone triggers
|
|
114
113
|
require the repository to have a `localPath`.
|
|
115
114
|
3. **Daily git management** — opt-in per repo. Enabling it does three
|
|
116
|
-
distinct kinds of work, on
|
|
115
|
+
distinct kinds of work, each on its own schedule:
|
|
117
116
|
- On the first **Generate overview** click, writes the curated
|
|
118
117
|
`knowledge/repos/<slug>/overview.md` skeleton, mirrors the source
|
|
119
118
|
`README.*` to `knowledge/repos/<slug>/README.md`, and
|
|
@@ -26,7 +26,7 @@ ask_examples:
|
|
|
26
26
|
- Where do reading-list items get stored?
|
|
27
27
|
locale: en-US
|
|
28
28
|
created: 2026-04-25
|
|
29
|
-
updated: 2026-
|
|
29
|
+
updated: 2026-07-01
|
|
30
30
|
keywords:
|
|
31
31
|
- reading
|
|
32
32
|
- books
|
|
@@ -37,6 +37,7 @@ related:
|
|
|
37
37
|
- features/memory-files/user-profile
|
|
38
38
|
- features/lifestyle/receipts
|
|
39
39
|
- features/lifestyle/travel-bookings
|
|
40
|
+
- pages/reading
|
|
40
41
|
api_endpoints:
|
|
41
42
|
- GET /api/books
|
|
42
43
|
- PATCH /api/books/:id
|
|
@@ -52,7 +53,7 @@ ui_anchors:
|
|
|
52
53
|
|
|
53
54
|
A reading list backed by the `books` and `reading_highlights` SQLite
|
|
54
55
|
tables: imports your Kindle highlights, tracks each book's status
|
|
55
|
-
(`reading`, `completed`, or `abandoned`), and
|
|
56
|
+
(`reading`, `completed`, or `abandoned`), and shows your current list
|
|
56
57
|
at `/reading`.
|
|
57
58
|
|
|
58
59
|
## What It Does
|
|
@@ -65,14 +66,15 @@ at `/reading`.
|
|
|
65
66
|
"Export Notebook" email.
|
|
66
67
|
- **List** the library on `/reading` or via `GET /api/books`
|
|
67
68
|
(filterable by `status` and `source`, paginated to 200 rows per call).
|
|
68
|
-
- **Mark complete or abandoned** —
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
69
|
+
- **Mark complete or abandoned** — `PATCH /api/books/:id` updates a book
|
|
70
|
+
that already exists. This is an **Approve-tier** write (a change that
|
|
71
|
+
needs your explicit sign-off), so it requires an operator
|
|
72
|
+
`Authorization: Bearer` token and runs from the dashboard rather than
|
|
73
|
+
on the agent's own initiative (an unauthenticated agent curl is
|
|
74
|
+
rejected with **401** before the handler runs). Setting `status` to
|
|
73
75
|
`completed` stamps `completed_at` automatically; you can also set a 1–5
|
|
74
76
|
`rating` or `notes`.
|
|
75
|
-
- **Recommend** from the list
|
|
77
|
+
- **Recommend** from the list when you ask in a chat, and refresh the
|
|
76
78
|
reading-taste profile during the weekly review.
|
|
77
79
|
|
|
78
80
|
There is **no bare "add a book" endpoint** — new books arrive through the
|
|
@@ -126,5 +128,6 @@ drives the list shape. The reading skill loads in two situations:
|
|
|
126
128
|
|
|
127
129
|
## Related
|
|
128
130
|
|
|
131
|
+
- [Reading Page](../../pages/reading.md)
|
|
129
132
|
- [Receipts](receipts.md)
|
|
130
133
|
- [Travel Bookings](travel-bookings.md)
|
|
@@ -16,7 +16,6 @@ summary: |
|
|
|
16
16
|
section: lifestyle
|
|
17
17
|
tags:
|
|
18
18
|
- lifestyle
|
|
19
|
-
- receipts
|
|
20
19
|
- mail
|
|
21
20
|
- integrations
|
|
22
21
|
status: stable
|
|
@@ -27,7 +26,7 @@ ask_examples:
|
|
|
27
26
|
- What receipts haven't I saved yet?
|
|
28
27
|
locale: en-US
|
|
29
28
|
created: 2026-04-25
|
|
30
|
-
updated: 2026-
|
|
29
|
+
updated: 2026-07-01
|
|
31
30
|
keywords:
|
|
32
31
|
- receipt
|
|
33
32
|
- invoice
|
|
@@ -58,10 +57,10 @@ your external Obsidian vault on request.
|
|
|
58
57
|
## How Detection Works
|
|
59
58
|
|
|
60
59
|
The mail observer scans travel-booking emails across every connected
|
|
61
|
-
mail account and records each attachment it finds.
|
|
62
|
-
attachment
|
|
63
|
-
`(account_id, provider_msg_id, attachment_id)
|
|
64
|
-
|
|
60
|
+
mail account and records each attachment it finds. Every detected
|
|
61
|
+
attachment becomes one row in the `receipts` table. Each row is keyed
|
|
62
|
+
uniquely on `(account_id, provider_msg_id, attachment_id)`, so
|
|
63
|
+
re-scanning the same mail never creates a duplicate. Columns:
|
|
65
64
|
|
|
66
65
|
- `category` — `travel` at detection time; reclassify to `document`
|
|
67
66
|
via PATCH (nullable on legacy rows)
|
|
@@ -72,22 +71,22 @@ idempotent. Columns:
|
|
|
72
71
|
vault (see below)
|
|
73
72
|
- `id`, `created_at` — row identity and detection time
|
|
74
73
|
|
|
75
|
-
There is no Markdown context file for receipts
|
|
76
|
-
the SQLite row plus the optional Obsidian copy.
|
|
74
|
+
There is no Markdown context file for receipts. The lasting record is
|
|
75
|
+
the SQLite row, plus the optional Obsidian copy you save yourself.
|
|
77
76
|
|
|
78
77
|
## Saving a Receipt to Your Vault
|
|
79
78
|
|
|
80
|
-
Saving
|
|
81
|
-
|
|
79
|
+
Saving takes two steps. The download endpoint never writes to the vault
|
|
80
|
+
on its own:
|
|
82
81
|
|
|
83
|
-
1. The agent downloads the original bytes
|
|
82
|
+
1. The agent downloads the original bytes with
|
|
84
83
|
`POST /api/receipts/:id/download`, which streams the raw attachment
|
|
85
|
-
(
|
|
86
|
-
|
|
87
|
-
2. The agent writes the file into your **external** Obsidian vault —
|
|
88
|
-
the primary management vault —
|
|
89
|
-
`receipts/YYYY/MM/<merchant>-<date>.<ext>` (
|
|
90
|
-
`receipts/2026/04/amazon-2026-04-12.pdf`)
|
|
84
|
+
(found in the mail registry by `account_id`). Files larger than
|
|
85
|
+
100 MB, and orphaned rows with a null `account_id`, are rejected.
|
|
86
|
+
2. The agent writes the file into your **external** Obsidian vault —
|
|
87
|
+
not the primary management vault — using the naming convention
|
|
88
|
+
`receipts/YYYY/MM/<merchant>-<date>.<ext>` (for example,
|
|
89
|
+
`receipts/2026/04/amazon-2026-04-12.pdf`). It then records that path
|
|
91
90
|
with `PATCH /api/receipts/:id` (body `{"obsidianPath": "..."}`),
|
|
92
91
|
which also stamps `saved_at`.
|
|
93
92
|
|
|
@@ -96,11 +95,11 @@ To reclassify a receipt, the agent PATCHes `{"category": "travel"}`
|
|
|
96
95
|
|
|
97
96
|
## Where in the Dashboard
|
|
98
97
|
|
|
99
|
-
There is no dedicated tab
|
|
100
|
-
|
|
101
|
-
filter them with `GET /api/receipts` (`category`, `saved`,
|
|
102
|
-
params) and pull totals from `GET /api/receipts/summary`. The
|
|
103
|
-
is documented in
|
|
98
|
+
There is no dedicated tab yet. Receipts show up inline when you ask for
|
|
99
|
+
them in chat (for example, "what receipts haven't I saved yet?"). List
|
|
100
|
+
and filter them with `GET /api/receipts` (the `category`, `saved`, and
|
|
101
|
+
`limit` params) and pull totals from `GET /api/receipts/summary`. The
|
|
102
|
+
full API is documented in
|
|
104
103
|
`agent-assets/skills/gmail-lifestyle/references/receipts-api.md`
|
|
105
104
|
(loaded by the `gmail-lifestyle` skill).
|
|
106
105
|
|
|
@@ -17,7 +17,6 @@ summary: |
|
|
|
17
17
|
section: lifestyle
|
|
18
18
|
tags:
|
|
19
19
|
- lifestyle
|
|
20
|
-
- travel
|
|
21
20
|
- mail
|
|
22
21
|
- integrations
|
|
23
22
|
status: stable
|
|
@@ -27,7 +26,7 @@ ask_examples:
|
|
|
27
26
|
- Where are my travel bookings stored?
|
|
28
27
|
locale: en-US
|
|
29
28
|
created: 2026-04-25
|
|
30
|
-
updated: 2026-
|
|
29
|
+
updated: 2026-07-01
|
|
31
30
|
keywords:
|
|
32
31
|
- flight
|
|
33
32
|
- hotel
|
|
@@ -76,10 +75,10 @@ confirmation email never creates a duplicate row.
|
|
|
76
75
|
|
|
77
76
|
## How Bookings Get Created
|
|
78
77
|
|
|
79
|
-
Bookings
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
78
|
+
Bookings come from email only — there is no manual "log a flight"
|
|
79
|
+
command or DM shortcut. To start capturing travel, connect a mail
|
|
80
|
+
account (see [Mail](../integrations/mail.md)) and let the classifier
|
|
81
|
+
do the rest. The flow is:
|
|
83
82
|
|
|
84
83
|
1. The mail poller fetches new messages.
|
|
85
84
|
2. The classifier (`gmail_classify`, lite tier) tags travel
|
|
@@ -99,9 +98,10 @@ classifier do the rest. The flow is:
|
|
|
99
98
|
|
|
100
99
|
## API
|
|
101
100
|
|
|
102
|
-
|
|
103
|
-
they expose personal travel data
|
|
104
|
-
write-safety tier
|
|
101
|
+
These endpoints give read and status-update access. The two read
|
|
102
|
+
endpoints are read-sensitive, because they expose personal travel data.
|
|
103
|
+
The `PATCH` endpoint follows the standard write-safety tier, so it
|
|
104
|
+
requires approval before it runs.
|
|
105
105
|
|
|
106
106
|
```bash
|
|
107
107
|
# All bookings (optionally filter by type/status/date range)
|
|
@@ -17,7 +17,6 @@ section: memory-files
|
|
|
17
17
|
tags:
|
|
18
18
|
- memory
|
|
19
19
|
- journal
|
|
20
|
-
- reflection
|
|
21
20
|
- routines
|
|
22
21
|
status: stable
|
|
23
22
|
ask_examples:
|
|
@@ -27,7 +26,7 @@ ask_examples:
|
|
|
27
26
|
- Why did journal/agent.md stop growing?
|
|
28
27
|
locale: en-US
|
|
29
28
|
created: 2026-04-25
|
|
30
|
-
updated: 2026-
|
|
29
|
+
updated: 2026-07-01
|
|
31
30
|
keywords:
|
|
32
31
|
- journal
|
|
33
32
|
- retros
|
|
@@ -77,20 +76,22 @@ Each entry carries:
|
|
|
77
76
|
- The reflection itself.
|
|
78
77
|
|
|
79
78
|
The file lives at `~/.personal-agent/context/journal/agent.md`. The
|
|
80
|
-
day-to-day morning and ad-hoc entries accumulate indefinitely
|
|
81
|
-
|
|
82
|
-
retros
|
|
83
|
-
|
|
79
|
+
day-to-day morning and ad-hoc entries accumulate indefinitely. A daily
|
|
80
|
+
retention rollup then keeps only a rolling window of the structured
|
|
81
|
+
retros — the most recent 12 `## Weekly` and 24 `## Monthly` sections —
|
|
82
|
+
and prunes older ones. Later routines read the file back to look for
|
|
83
|
+
patterns.
|
|
84
84
|
|
|
85
85
|
## Who writes it, and when
|
|
86
86
|
|
|
87
87
|
Three routines append to the journal — none ever rewrites it:
|
|
88
88
|
|
|
89
89
|
- **Morning routine** is the recurring daily writer — and here the
|
|
90
|
-
daemon
|
|
90
|
+
daemon (the always-on local background service) does the writing
|
|
91
|
+
itself, rather than an AI-model (LLM) stage. Once the day's
|
|
91
92
|
stages (Stage A `routine.morning_routine_today`, Stage B
|
|
92
|
-
`routine.morning_routine_journal`)
|
|
93
|
-
one-paragraph audit-trail entry
|
|
93
|
+
`routine.morning_routine_journal`) finish, the daemon appends a
|
|
94
|
+
one-paragraph audit-trail entry built from the run's
|
|
94
95
|
`agent_actions` rows — stage results, inbox stats, anomalies — plus
|
|
95
96
|
a one-line footprint of the prior day's actions. This is the entry
|
|
96
97
|
you'll see most often.
|
|
@@ -104,7 +105,8 @@ Three routines append to the journal — none ever rewrites it:
|
|
|
104
105
|
rejected. It does not write the bulk of the diary.
|
|
105
106
|
|
|
106
107
|
In-the-moment notes can also land here when the agent flags something
|
|
107
|
-
worth recording during reactive work
|
|
108
|
+
worth recording during reactive work — its live back-and-forth with
|
|
109
|
+
you, outside the scheduled routines.
|
|
108
110
|
|
|
109
111
|
### Example entry
|
|
110
112
|
|
|
@@ -18,8 +18,6 @@ summary: |
|
|
|
18
18
|
section: memory-files
|
|
19
19
|
tags:
|
|
20
20
|
- memory
|
|
21
|
-
- feedback
|
|
22
|
-
- learning
|
|
23
21
|
- routines
|
|
24
22
|
status: beta
|
|
25
23
|
ask_examples:
|
|
@@ -30,7 +28,7 @@ ask_examples:
|
|
|
30
28
|
- How do I tune the lesson caps?
|
|
31
29
|
locale: en-US
|
|
32
30
|
created: 2026-06-08
|
|
33
|
-
updated: 2026-
|
|
31
|
+
updated: 2026-07-01
|
|
34
32
|
keywords:
|
|
35
33
|
- lessons
|
|
36
34
|
- feedback
|
|
@@ -61,20 +59,21 @@ ui_anchors:
|
|
|
61
59
|
|
|
62
60
|
The lesson stores are where the agent remembers how you want it to
|
|
63
61
|
behave: a short, dated list of learned directives that grows from your
|
|
64
|
-
corrections and the agent's own
|
|
65
|
-
work so it stops repeating the same mistakes.
|
|
62
|
+
corrections and from the agent's own reviews of its work, and is fed back
|
|
63
|
+
into the agent's work so it stops repeating the same mistakes.
|
|
66
64
|
|
|
67
65
|
## What they are
|
|
68
66
|
|
|
69
67
|
There are two kinds of store:
|
|
70
68
|
|
|
71
69
|
- **Global agent behavior** — `policies/agent-lessons.md`. Lessons that
|
|
72
|
-
apply to the agent as a whole.
|
|
73
|
-
|
|
70
|
+
apply to the agent as a whole. They are fed into your DM (direct
|
|
71
|
+
message) chats with the agent and into the routines that decide whether
|
|
72
|
+
to notify you.
|
|
74
73
|
- **Per-agent** — `policies/agents/<slug>/lessons.md`, one per Agent
|
|
75
|
-
Definition. These are
|
|
76
|
-
|
|
77
|
-
|
|
74
|
+
Definition. These are fed in **only** when that agent itself runs, so a
|
|
75
|
+
lesson learned for your "weekly-report" agent never leaks into an
|
|
76
|
+
unrelated one.
|
|
78
77
|
|
|
79
78
|
Both live under `~/.personal-agent/context/policies/`, alongside your
|
|
80
79
|
other rule files, and are plain Markdown you can read or hand-edit.
|
|
@@ -111,7 +110,7 @@ it for you. There are three ways signals enter:
|
|
|
111
110
|
Those raw signals don't become lessons immediately. Each night the
|
|
112
111
|
[evening review](../routines/evening-review.md) folds the day's
|
|
113
112
|
unconsumed signals into the right store as dated lessons, then marks them
|
|
114
|
-
consumed (it skips the step entirely when nothing
|
|
113
|
+
consumed (it skips the step entirely when nothing is waiting). Once a month
|
|
115
114
|
the monthly review — off by default; opt in by enabling the
|
|
116
115
|
monthly-review agent at `/agents/monthly-review` — runs a re-generalize
|
|
117
116
|
pass that collapses several same-theme lessons into one higher-level
|
|
@@ -122,8 +121,8 @@ principle, keeping each store small.
|
|
|
122
121
|
A new lesson is stored but is not necessarily *injected* right away. A
|
|
123
122
|
lesson carries a `<!-- provisional -->` marker until it has enough
|
|
124
123
|
corroborating evidence; provisional lessons sit in the file but are not
|
|
125
|
-
fed into the agent's prompts. This
|
|
126
|
-
offhand comment.
|
|
124
|
+
fed into the agent's prompts. This keeps the agent from over-reacting to a
|
|
125
|
+
single offhand comment.
|
|
127
126
|
|
|
128
127
|
How a lesson crosses from provisional to active:
|
|
129
128
|
|
|
@@ -135,6 +134,26 @@ How a lesson crosses from provisional to active:
|
|
|
135
134
|
promotes on the first occurrence — it is taken at your word.
|
|
136
135
|
- An **ignore on its own never promotes** a lesson, and is never read as
|
|
137
136
|
disapproval.
|
|
137
|
+
- A candidate that **contradicts an established lesson** (one whose
|
|
138
|
+
confidence is at or above `feedbackContradictionGuardCf`, default 0.6)
|
|
139
|
+
is held provisional until it accumulates 1.5x the usual evidence — a
|
|
140
|
+
single stray signal can't flip a well-supported lesson. Your explicit
|
|
141
|
+
corrections bypass this guard entirely.
|
|
142
|
+
|
|
143
|
+
## Confidence (`cf`)
|
|
144
|
+
|
|
145
|
+
Every lesson carries a numeric confidence `cf` between 0 and 1, stamped
|
|
146
|
+
deterministically by the daemon (never trusted from the model's rewrite).
|
|
147
|
+
It rises with corroboration and decays with time since the lesson was
|
|
148
|
+
last reinforced. Inferred lessons whose decayed confidence falls below
|
|
149
|
+
`feedbackLessonConfidenceFloor` (default 0.25) quietly stop being
|
|
150
|
+
injected — but the two highest-authority classes are protected: a
|
|
151
|
+
durable `constraint` is never filtered, and an explicit owner correction
|
|
152
|
+
is tested on its undecayed confidence (obeying a directive produces no
|
|
153
|
+
new signals, so decay alone can't silently un-bind it). A daily
|
|
154
|
+
mechanical pass (the **Lesson Maintenance** agent at
|
|
155
|
+
`/agents/lesson-maintenance`, 17:40) keeps the stamps fresh even on days
|
|
156
|
+
with no new feedback.
|
|
138
157
|
|
|
139
158
|
## Bounded by design
|
|
140
159
|
|
|
@@ -142,19 +161,25 @@ The stores can't grow without limit. Each is capped in bytes and entry
|
|
|
142
161
|
count — the global store at `feedbackLessonMaxBytesGlobal` bytes
|
|
143
162
|
(default 8192) / 40 entries, the per-agent stores at
|
|
144
163
|
`feedbackLessonMaxBytesPerAgent` (default 4096) / 20 entries. When a
|
|
145
|
-
store is full, the lowest-signal lessons are dropped first.
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
164
|
+
store is full, the lowest-signal lessons are dropped first. Expiration is
|
|
165
|
+
graduated and reversible: a lesson untouched past
|
|
166
|
+
`feedbackLessonStaleDays` (default 60) whose decayed confidence is below
|
|
167
|
+
the floor **demotes** back to provisional; a provisional lesson that goes
|
|
168
|
+
uncorroborated for twice that horizon is **archived** (removed from the
|
|
169
|
+
file — its raw signals remain in the database); fresh corroboration
|
|
170
|
+
**re-promotes** a demoted lesson. One exception: a `kind=constraint`
|
|
171
|
+
lesson is durable and never expires or collapses away. The underlying
|
|
172
|
+
feedback signals themselves are retained for
|
|
173
|
+
`feedbackSignalRetentionDays` (default 180).
|
|
150
174
|
|
|
151
175
|
## Where in the dashboard
|
|
152
176
|
|
|
153
177
|
**Settings → Lessons** (`/settings/lessons`, labelled "Lessons" with a
|
|
154
|
-
**Preview** badge) is
|
|
155
|
-
edit the lessons themselves and adjust every knob above:
|
|
178
|
+
**Preview** badge) is where you read and tune all of this. From there you
|
|
179
|
+
can view and edit the lessons themselves and adjust every knob above:
|
|
156
180
|
`feedbackLearningEnabled` (the master kill-switch, on by default),
|
|
157
|
-
`feedbackPromotionThreshold`, the byte caps, the stale-days horizon,
|
|
181
|
+
`feedbackPromotionThreshold`, the byte caps, the stale-days horizon, the
|
|
182
|
+
confidence floor, the contradiction guard, the outcome-rollup toggle, and
|
|
158
183
|
the signal retention window. Turning `feedbackLearningEnabled` off stops
|
|
159
184
|
both capture and consolidation.
|
|
160
185
|
|
|
@@ -16,8 +16,6 @@ summary: |
|
|
|
16
16
|
section: memory-files
|
|
17
17
|
tags:
|
|
18
18
|
- memory
|
|
19
|
-
- projects
|
|
20
|
-
- core
|
|
21
19
|
status: stable
|
|
22
20
|
ask_examples:
|
|
23
21
|
- Where do I find the per-project files?
|
|
@@ -25,7 +23,7 @@ ask_examples:
|
|
|
25
23
|
- How does the agent write to a project file?
|
|
26
24
|
locale: en-US
|
|
27
25
|
created: 2026-04-25
|
|
28
|
-
updated: 2026-
|
|
26
|
+
updated: 2026-07-01
|
|
29
27
|
keywords:
|
|
30
28
|
- projects
|
|
31
29
|
- project file
|
|
@@ -67,11 +65,11 @@ only the minimum — `type: project`, `owner: shared`, an `updated`
|
|
|
67
65
|
date, and an H1 title. By convention the agent also writes `slug`,
|
|
68
66
|
`state`, `start`, `due`, `stakeholders`, `next_milestone`, and `tags`.
|
|
69
67
|
|
|
70
|
-
`state` is what marks a project **active
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
file with no `state`
|
|
74
|
-
as active and
|
|
68
|
+
The `state` field is what marks a project **active**. The Obsidian
|
|
69
|
+
`_active.base` view filters on it (keeping rows where
|
|
70
|
+
`state != "archived"`), and the morning routine surfaces every project
|
|
71
|
+
whose `state` is not `archived`. A file with no `state` at all — or any
|
|
72
|
+
state other than `archived` — counts as active and shows up.
|
|
75
73
|
|
|
76
74
|
```markdown
|
|
77
75
|
---
|
|
@@ -95,13 +93,14 @@ Ship the public beta before the conference.
|
|
|
95
93
|
|
|
96
94
|
## When It Runs / How It Is Triggered
|
|
97
95
|
|
|
98
|
-
Read on demand. Written when
|
|
99
|
-
|
|
100
|
-
|
|
96
|
+
Read on demand. Written when you ask the agent to remember something
|
|
97
|
+
project-specific, or when a direct message (DM) signals project intent
|
|
98
|
+
— create, update status, or mark done.
|
|
101
99
|
|
|
102
|
-
The agent cannot edit context files on disk
|
|
103
|
-
`Edit
|
|
104
|
-
|
|
100
|
+
The agent cannot edit context files directly on disk: a pre-write hook
|
|
101
|
+
blocks the `Edit` and `Write` tools anywhere inside the context vault
|
|
102
|
+
(the folder that holds these Markdown memory files). Instead, every
|
|
103
|
+
project write goes through the context API:
|
|
105
104
|
|
|
106
105
|
- `GET /api/context/list/projects` — discover existing project files.
|
|
107
106
|
- `PUT /api/context/plans/projects/<slug>` — create or fully replace.
|
|
@@ -9,13 +9,13 @@ aliases:
|
|
|
9
9
|
- preparation timeline
|
|
10
10
|
category: features
|
|
11
11
|
summary: |
|
|
12
|
-
roadmap.md
|
|
13
|
-
rows
|
|
14
|
-
roadmap
|
|
12
|
+
roadmap.md holds long-running goals plus Preparation Timeline
|
|
13
|
+
rows dated for specific days. Each day the morning routine reads the
|
|
14
|
+
roadmap and surfaces any row whose date has arrived.
|
|
15
15
|
section: memory-files
|
|
16
16
|
tags:
|
|
17
17
|
- memory
|
|
18
|
-
-
|
|
18
|
+
- scheduler
|
|
19
19
|
status: stable
|
|
20
20
|
ask_examples:
|
|
21
21
|
- What is the roadmap file?
|
|
@@ -24,7 +24,7 @@ ask_examples:
|
|
|
24
24
|
- How do I add a roadmap entry?
|
|
25
25
|
locale: en-US
|
|
26
26
|
created: 2026-04-25
|
|
27
|
-
updated: 2026-
|
|
27
|
+
updated: 2026-07-01
|
|
28
28
|
keywords:
|
|
29
29
|
- roadmap.md
|
|
30
30
|
- roadmap
|
|
@@ -49,7 +49,7 @@ context_files:
|
|
|
49
49
|
## In One Sentence
|
|
50
50
|
|
|
51
51
|
A multi-week plan: each goal carries dates and Preparation Timeline
|
|
52
|
-
rows
|
|
52
|
+
rows, and the morning routine surfaces each row on the day it comes due.
|
|
53
53
|
|
|
54
54
|
## What It Does
|
|
55
55
|
|
|
@@ -87,16 +87,17 @@ hotel", and so on.
|
|
|
87
87
|
|
|
88
88
|
## When It Runs / How It Is Triggered
|
|
89
89
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
example via the roadmap skill or
|
|
90
|
+
The morning routine reads the roadmap each day and surfaces any
|
|
91
|
+
Preparation Timeline rows dated for that day — plus any earlier row it
|
|
92
|
+
has not handled yet (overdue). You can update the file yourself, or ask
|
|
93
|
+
the agent to (for example via the roadmap skill or
|
|
94
|
+
`aitne run-now roadmap_maintenance`).
|
|
94
95
|
|
|
95
|
-
The agent never edits the file directly.
|
|
96
|
+
The agent never edits the file directly. Every write goes through the
|
|
96
97
|
daemon's context endpoint — `PUT /api/context/plans/roadmap` (full
|
|
97
|
-
replace) or `PATCH /api/context/plans/roadmap` (section op)
|
|
98
|
-
|
|
99
|
-
each other.
|
|
98
|
+
replace) or `PATCH /api/context/plans/roadmap` (section op). A write
|
|
99
|
+
lock holds the roadmap exclusively during each write, so two flows can
|
|
100
|
+
never overwrite each other.
|
|
100
101
|
|
|
101
102
|
## Where in the Dashboard
|
|
102
103
|
|
|
@@ -104,6 +105,6 @@ each other.
|
|
|
104
105
|
|
|
105
106
|
## Related
|
|
106
107
|
|
|
107
|
-
- [Morning Routine](
|
|
108
|
+
- [Morning Routine](../routines/morning-routine.md) — reads the roadmap each day.
|
|
108
109
|
- [Projects](projects.md) — deeper, per-project context the roadmap links to.
|
|
109
110
|
- [today.md](today.md) — the single-day plan the roadmap feeds into.
|
|
@@ -21,7 +21,6 @@ tags:
|
|
|
21
21
|
- memory
|
|
22
22
|
- journal
|
|
23
23
|
- routines
|
|
24
|
-
- core
|
|
25
24
|
status: stable
|
|
26
25
|
ask_examples:
|
|
27
26
|
- Where does the agent store the day's diary?
|
|
@@ -29,7 +28,7 @@ ask_examples:
|
|
|
29
28
|
- How do I change which sections the daily journal includes?
|
|
30
29
|
locale: en-US
|
|
31
30
|
created: 2026-04-25
|
|
32
|
-
updated: 2026-
|
|
31
|
+
updated: 2026-07-01
|
|
33
32
|
keywords:
|
|
34
33
|
- daily journal
|
|
35
34
|
- diary
|
|
@@ -42,7 +41,7 @@ related:
|
|
|
42
41
|
- features/memory-files/agent-journal
|
|
43
42
|
- concepts/agent-day
|
|
44
43
|
ui_anchors:
|
|
45
|
-
- /
|
|
44
|
+
- /tasks
|
|
46
45
|
- /agents/morning-routine?tab=rulebook
|
|
47
46
|
process_keys:
|
|
48
47
|
- routine.morning_routine_journal
|
|
@@ -55,8 +54,9 @@ context_files:
|
|
|
55
54
|
## In One Sentence
|
|
56
55
|
|
|
57
56
|
`journal/daily/YYYY-MM-DD.md` is the morning routine's first-person
|
|
58
|
-
diary of the **previous** agent-day
|
|
59
|
-
|
|
57
|
+
diary of the **previous** agent-day (the agent's version of a day,
|
|
58
|
+
which rolls over at 04:00 by default) — what the user did, who they
|
|
59
|
+
met, what they talked about — composed by the daemon and kept as a
|
|
60
60
|
read-only archive that the weekly and monthly reviews read back.
|
|
61
61
|
|
|
62
62
|
> **Renamed from `schedule/`.** The old mechanical `schedule/YYYY-MM-DD.md`
|
|
@@ -93,11 +93,11 @@ typically includes:
|
|
|
93
93
|
- `## Tasks` — what the user worked on.
|
|
94
94
|
- `## Conversations` — who they talked to and about what.
|
|
95
95
|
|
|
96
|
-
When the `browser_history` integration is
|
|
97
|
-
|
|
98
|
-
frontmatter (`date`, `weekday`,
|
|
99
|
-
`
|
|
100
|
-
|
|
96
|
+
When the `browser_history` integration is turned on, a reading and
|
|
97
|
+
research section is added from the day's browser digest. The daemon
|
|
98
|
+
fills in the frontmatter fields automatically (`date`, `weekday`,
|
|
99
|
+
`calendar_events`, `messages_handled`, `projects`, `people`, `tags`,
|
|
100
|
+
`content_hash`, `updated`). The exact sections and tone are set by the
|
|
101
101
|
journal-format and journal-export policy files (see
|
|
102
102
|
[Configuration](#configuration)).
|
|
103
103
|
|