@aitne-sh/aitne 0.1.10 → 0.1.11

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 (130) hide show
  1. package/README.md +8 -8
  2. package/agent-assets/agent-profiles/background-task.md +53 -0
  3. package/agent-assets/agent-profiles/conversational.md +1 -0
  4. package/agent-assets/agent-profiles/routine-fetch-window.md +14 -75
  5. package/agent-assets/agent-profiles/routine.md +1 -1
  6. package/agent-assets/agents/{hourly-check → activity-scan}/agent.md +22 -17
  7. package/agent-assets/agents/monthly-review/agent.md +6 -5
  8. package/agent-assets/docs/concepts/agent-day.md +4 -5
  9. package/agent-assets/docs/concepts/auth-health.md +23 -20
  10. package/agent-assets/docs/concepts/backends-and-tiers.md +13 -9
  11. package/agent-assets/docs/concepts/costs-and-quotas.md +11 -10
  12. package/agent-assets/docs/concepts/delegated-mode.md +13 -12
  13. package/agent-assets/docs/concepts/memory-model.md +13 -9
  14. package/agent-assets/docs/concepts/observations.md +24 -20
  15. package/agent-assets/docs/concepts/process-keys.md +10 -9
  16. package/agent-assets/docs/concepts/routines.md +34 -31
  17. package/agent-assets/docs/concepts/safety-and-execution.md +11 -7
  18. package/agent-assets/docs/concepts/safety-model.md +19 -8
  19. package/agent-assets/docs/concepts/skills.md +10 -8
  20. package/agent-assets/docs/features/integrations/browser-history.md +14 -10
  21. package/agent-assets/docs/features/integrations/calendar.md +24 -13
  22. package/agent-assets/docs/features/integrations/git.md +13 -11
  23. package/agent-assets/docs/features/integrations/github.md +22 -14
  24. package/agent-assets/docs/features/integrations/mail.md +22 -20
  25. package/agent-assets/docs/features/integrations/notion.md +35 -11
  26. package/agent-assets/docs/features/integrations/obsidian.md +8 -8
  27. package/agent-assets/docs/features/lifestyle/git.md +24 -20
  28. package/agent-assets/docs/features/lifestyle/reading.md +5 -3
  29. package/agent-assets/docs/features/lifestyle/receipts.md +11 -10
  30. package/agent-assets/docs/features/memory-files/agent-journal.md +25 -16
  31. package/agent-assets/docs/features/memory-files/agent-lessons.md +7 -6
  32. package/agent-assets/docs/features/memory-files/projects.md +5 -4
  33. package/agent-assets/docs/features/memory-files/schedule.md +6 -3
  34. package/agent-assets/docs/features/memory-files/today.md +10 -7
  35. package/agent-assets/docs/features/memory-files/user-profile.md +14 -9
  36. package/agent-assets/docs/features/messaging/bang-commands.md +21 -6
  37. package/agent-assets/docs/features/messaging/overview.md +12 -9
  38. package/agent-assets/docs/features/operations/activity-and-conversations.md +1 -1
  39. package/agent-assets/docs/features/operations/browser-tasks.md +184 -0
  40. package/agent-assets/docs/features/operations/cost-tracking.md +11 -1
  41. package/agent-assets/docs/features/operations/managed-chromium.md +1 -0
  42. package/agent-assets/docs/features/operations/notifications.md +11 -1
  43. package/agent-assets/docs/features/operations/quiet-hours.md +41 -12
  44. package/agent-assets/docs/features/operations/schedule-approaching.md +2 -2
  45. package/agent-assets/docs/features/routines/activity-scan.md +220 -0
  46. package/agent-assets/docs/features/routines/custom-routines.md +82 -138
  47. package/agent-assets/docs/features/routines/evening-review.md +14 -12
  48. package/agent-assets/docs/features/routines/morning-routine.md +4 -3
  49. package/agent-assets/docs/features/routines/weekly-review.md +18 -3
  50. package/agent-assets/docs/getting-started/01-what-is-this.md +3 -3
  51. package/agent-assets/docs/getting-started/04-first-day.md +27 -30
  52. package/agent-assets/docs/glossary.md +4 -4
  53. package/agent-assets/docs/guides/add-a-custom-routine.md +122 -68
  54. package/agent-assets/docs/guides/pause-the-agent.md +22 -20
  55. package/agent-assets/docs/guides/reinstall-cleanly.md +2 -0
  56. package/agent-assets/docs/guides/setup-wizard.md +12 -9
  57. package/agent-assets/docs/reference/api.md +11 -0
  58. package/agent-assets/docs/reference/config.md +30 -20
  59. package/agent-assets/docs/reference/keyboard-shortcuts.md +2 -2
  60. package/agent-assets/docs/reference/knowledge-layout.md +14 -10
  61. package/agent-assets/docs/reference/process-keys.md +7 -7
  62. package/agent-assets/docs/reference/skills.md +5 -2
  63. package/agent-assets/docs/troubleshooting/morning-routine-didnt-run.md +32 -16
  64. package/agent-assets/docs/troubleshooting/observation-not-detected.md +26 -24
  65. package/agent-assets/docs/troubleshooting/wiki-write-failed.md +3 -3
  66. package/agent-assets/skills/agent-create/SKILL.md +11 -0
  67. package/agent-assets/skills/background-task/SKILL.md +184 -0
  68. package/agent-assets/skills/background-task-reply/SKILL.md +100 -0
  69. package/agent-assets/skills/browser-history/SKILL.md +31 -13
  70. package/agent-assets/skills/browser-task/SKILL.md +12 -5
  71. package/agent-assets/skills/context/SKILL.md +4 -3
  72. package/agent-assets/skills/context/references/api.md +5 -3
  73. package/agent-assets/skills/context/references/snapshot-files.md +4 -4
  74. package/agent-assets/skills/external-services/SKILL.native.claude.md +13 -7
  75. package/agent-assets/skills/external-services/SKILL.native.codex.md +11 -5
  76. package/agent-assets/skills/external-services/SKILL.native.gemini.md +11 -5
  77. package/agent-assets/skills/mail/SKILL.md +2 -2
  78. package/agent-assets/skills/mail/SKILL.native.claude.md +16 -9
  79. package/agent-assets/skills/mail/SKILL.native.codex.md +15 -8
  80. package/agent-assets/skills/mail/SKILL.native.gemini.md +11 -5
  81. package/agent-assets/skills/managed-tasks/references/recurrence-rule.md +20 -12
  82. package/agent-assets/skills/management-policy/SKILL.md +26 -17
  83. package/agent-assets/skills/management-policy/curation.json +1 -1
  84. package/agent-assets/skills/management-policy/references/policy-workflow.md +26 -13
  85. package/agent-assets/skills/notify/SKILL.md +10 -5
  86. package/agent-assets/skills/notify/references/priority.md +30 -17
  87. package/agent-assets/skills/notion/SKILL.md +1 -1
  88. package/agent-assets/skills/notion/SKILL.native.claude.md +3 -3
  89. package/agent-assets/skills/notion/SKILL.native.codex.md +2 -2
  90. package/agent-assets/skills/notion/SKILL.native.gemini.md +2 -2
  91. package/agent-assets/skills/observations/SKILL.md +5 -5
  92. package/agent-assets/skills/roadmap/references/api.md +7 -2
  93. package/agent-assets/skills/schedule/SKILL.md +11 -2
  94. package/agent-assets/skills/schedule/references/recurrence-rule.md +20 -12
  95. package/agent-assets/skills/scheduled-managed-task/SKILL.md +12 -9
  96. package/agent-assets/skills/today/SKILL.md +19 -3
  97. package/agent-assets/skills/today/references/agent-plan-lifecycle.md +9 -4
  98. package/agent-assets/skills/today/references/agent-plan-revision.md +28 -0
  99. package/agent-assets/skills/today/references/today-skeleton.md +5 -5
  100. package/agent-assets/skills/user-interview/references/op-morning.md +1 -1
  101. package/agent-assets/system-prompts/routine-research-cluster-update.md +71 -0
  102. package/agent-assets/task-flows/_partials/notion-acquire.notion.md +47 -21
  103. package/agent-assets/task-flows/background_task.md +81 -0
  104. package/agent-assets/task-flows/git.local_ahead.stale.md +1 -1
  105. package/agent-assets/task-flows/git.push.detected.md +1 -1
  106. package/agent-assets/task-flows/git.tag.created.md +1 -1
  107. package/agent-assets/task-flows/github.assigned.md +1 -1
  108. package/agent-assets/task-flows/github.pull_request.review_requested.md +2 -2
  109. package/agent-assets/task-flows/github.security_alert.md +1 -1
  110. package/agent-assets/task-flows/message.received.dm.md +7 -3
  111. package/agent-assets/task-flows/message.received.dm_first.md +4 -2
  112. package/agent-assets/task-flows/{routine.hourly_check.md → routine.activity_scan.md} +31 -23
  113. package/agent-assets/task-flows/{routine.hourly_check.triage.md → routine.activity_scan.triage.md} +3 -3
  114. package/agent-assets/task-flows/routine.monthly_review.md +9 -8
  115. package/agent-assets/task-flows/routine.research_cluster_update.md +33 -19
  116. package/agent-assets/task-flows/routine.roadmap_refresh.md +2 -2
  117. package/agent-assets/task-flows/routine.today_refresh.md +1 -1
  118. package/agent-assets/task-flows/routine.weekly_review.md +103 -4
  119. package/agent-assets/task-flows/schedule.approaching.md +2 -2
  120. package/agent-assets/task-flows/scheduled.dm.md +77 -1
  121. package/agent-assets/task-flows/scheduled.task.md +7 -1
  122. package/agent-assets/templates/_manifest.json +2 -2
  123. package/agent-assets/templates/knowledge/dossiers/_index.md +1 -1
  124. package/agent-assets/templates/knowledge/dossiers/{hourly.md → activity-scan.md} +1 -1
  125. package/agent-assets/templates/policies/journal-format.md +1 -1
  126. package/agent-assets/templates/policies/mcp.md +1 -1
  127. package/agent-assets/templates/policies/routines/_index.md +1 -1
  128. package/agent-assets/templates/policies/routines/{hourly.md → activity-scan.md} +5 -5
  129. package/package.json +6 -5
  130. package/agent-assets/docs/features/routines/hourly-check.md +0 -205
@@ -10,7 +10,7 @@ aliases:
10
10
  - receipt files
11
11
  category: features
12
12
  summary: |
13
- A SQLite-backed log of receipt and invoice attachments the Gmail
13
+ A SQLite-backed log of receipt and invoice attachments the mail
14
14
  observer detects, plus an export path that saves them into the
15
15
  operator's external Obsidian vault for tax / reimbursement tracking.
16
16
  section: lifestyle
@@ -27,7 +27,7 @@ ask_examples:
27
27
  - What receipts haven't I saved yet?
28
28
  locale: en-US
29
29
  created: 2026-04-25
30
- updated: 2026-05-28
30
+ updated: 2026-06-07
31
31
  keywords:
32
32
  - receipt
33
33
  - invoice
@@ -50,20 +50,21 @@ related:
50
50
 
51
51
  ## In One Sentence
52
52
 
53
- Receipts are PDF / image attachments the Gmail observer detects while
54
- scanning your mail; their metadata lives in the `receipts` SQLite
55
- table, and the agent can save the original file into your external
56
- Obsidian vault on request.
53
+ Receipts are attachments (typically PDFs or images) the mail observer
54
+ detects while scanning your mail; their metadata lives in the
55
+ `receipts` SQLite table, and the agent can save the original file into
56
+ your external Obsidian vault on request.
57
57
 
58
58
  ## How Detection Works
59
59
 
60
- The Gmail observer scans travel-booking emails for PDF / image
61
- attachments and retains other generic documents it finds. Each detected
60
+ The mail observer scans travel-booking emails across every connected
61
+ mail account and records each attachment it finds. Each detected
62
62
  attachment inserts a row into the `receipts` table, keyed uniquely on
63
63
  `(account_id, provider_msg_id, attachment_id)` so re-scans are
64
64
  idempotent. Columns:
65
65
 
66
- - `category` — `document` or `travel` (nullable until classified)
66
+ - `category` — `travel` at detection time; reclassify to `document`
67
+ via PATCH (nullable on legacy rows)
67
68
  - `provider_msg_id`, `attachment_id`, `account_id` — locate the source
68
69
  attachment in the unified mail registry
69
70
  - `filename`, `mime_type`, `size_bytes` — attachment metadata
@@ -105,7 +106,7 @@ is documented in
105
106
 
106
107
  ## Configuration
107
108
 
108
- Detection runs as part of the Gmail observer; see
109
+ Detection runs as part of the mail observer; see
109
110
  [Mail](../integrations/mail.md). The save target follows the external
110
111
  vault convention `receipts/YYYY/MM/<merchant>-<date>.<ext>`.
111
112
 
@@ -42,6 +42,7 @@ related:
42
42
  - features/operations/activity-and-conversations
43
43
  - concepts/memory-model
44
44
  process_keys:
45
+ - routine.morning_routine_today
45
46
  - routine.morning_routine_journal
46
47
  - routine.evening_review
47
48
  - routine.weekly_review
@@ -49,7 +50,7 @@ context_files:
49
50
  - journal/agent.md
50
51
  ui_anchors:
51
52
  - /knowledge?tab=context-files
52
- - /settings/journal
53
+ - /agents/morning-routine?tab=rulebook
53
54
  ---
54
55
 
55
56
  # journal/agent.md
@@ -85,15 +86,18 @@ pruning older ones. Later routines read it back to look for patterns.
85
86
 
86
87
  Three routines append to the journal — none ever rewrites it:
87
88
 
88
- - **Morning routine** (Stage B, `routine.morning_routine_journal`) is
89
- the recurring daily writer. After the day's stages settle, the
90
- daemon appends a one-paragraph audit-trail entry assembled from the
91
- prior day's `agent_actions` stage results, retry stats, anomalies.
92
- This is the entry you'll see most often.
89
+ - **Morning routine** is the recurring daily writer — and here the
90
+ daemon itself does the writing, not an LLM stage. After the day's
91
+ stages (Stage A `routine.morning_routine_today`, Stage B
92
+ `routine.morning_routine_journal`) settle, the daemon appends a
93
+ one-paragraph audit-trail entry assembled from the run's
94
+ `agent_actions` rows — stage results, inbox stats, anomalies — plus
95
+ a one-line footprint of the prior day's actions. This is the entry
96
+ you'll see most often.
93
97
  - **Weekly review** (`routine.weekly_review`) appends the largest
94
98
  structured block: a `## Weekly YYYY-Www` retro with *What worked*,
95
99
  *What slipped on my side*, *System improvement ideas*, and agent-side
96
- metrics. It quotes prior entries to find a thread.
100
+ metrics.
97
101
  - **Evening review** (`routine.evening_review`) appends short
98
102
  bookkeeping lines — for example a one-liner each time it bumps a
99
103
  roadmap review forward, or a validation error if a roadmap write was
@@ -115,11 +119,15 @@ worth recording during reactive work.
115
119
  ### System improvement ideas
116
120
  - Add Saturday to the Weekend day-type default so weekend pushes triage.
117
121
  ### Metrics (agent side)
118
- - Agent plan rows completed: 12
119
- - Did-not-fire / failed rows: 1
120
- - Observations reviewed / ignored: 18 / 4
122
+ - Routine runs (7d): 142 total / 3 failed (prev week: 150 / 5)
123
+ - Spend (7d): $4.10 (prev week: $4.80); top cost: routine.fetch_window $2.10
124
+ - Notifications (7d): 9 sent / 4 ignored (prev week sent: 11)
121
125
  ```
122
126
 
127
+ The metrics lines are copied verbatim from the `<self_performance>`
128
+ block the daemon computes and injects into the weekly session — the
129
+ review does not count anything itself.
130
+
123
131
  ## Append-only — enforced, not just convention
124
132
 
125
133
  The journal is append-only at the API layer, not merely by prompt
@@ -137,8 +145,9 @@ cannot destroy history. Writes go through the daemon context API
137
145
  read view of the file — `journal/agent` is listed among the top-level
138
146
  context files. It is flagged as sensitive: entering edit mode surfaces
139
147
  a "deliberately pruning noise" warning before you change anything.
140
- - **Settings Journal** (`/settings/journal`) does *not* edit this
141
- file. It is a two-tab editor for the daily-journal rule files —
148
+ - **The morning-routine agent's Rulebook tab**
149
+ (`/agents/morning-routine?tab=rulebook`)
150
+ does *not* edit this file. It hosts the daily-journal rule files —
142
151
  `policies/journal-format.md` (sections, voice, frontmatter) and
143
152
  `policies/journal-export.md` (redaction / inclusion rules) — both of
144
153
  which the morning routine reads when synthesizing `daily/YYYY-MM-DD.md`,
@@ -155,7 +164,8 @@ agent's own writes, not to you editing the file on disk.
155
164
  ## When something goes wrong
156
165
 
157
166
  - **The journal stops growing.** This usually points at the morning
158
- routine's Stage B (the daily writer) or the evening/weekly review not
167
+ routine (whose daemon-side appender writes the daily entry) or the
168
+ evening/weekly review not
159
169
  running. See [Morning Routine](../routines/morning-routine.md) and
160
170
  [Evening Review](../routines/evening-review.md).
161
171
  - **Entries look duplicated.** This usually means a routine retried
@@ -170,9 +180,8 @@ agent's own writes, not to you editing the file on disk.
170
180
  ## Related
171
181
 
172
182
  - [Morning Routine](../routines/morning-routine.md) — the recurring
173
- daily writer (Stage B).
174
- - [Weekly Review](../routines/weekly-review.md) — the largest retro,
175
- and the main consumer that reads prior entries back.
183
+ daily writer (via the daemon-side appender).
184
+ - [Weekly Review](../routines/weekly-review.md) — the largest retro.
176
185
  - [Evening Review](../routines/evening-review.md) — appends short
177
186
  bookkeeping lines.
178
187
  - [Activity & Conversations](../operations/activity-and-conversations.md)
@@ -30,7 +30,7 @@ ask_examples:
30
30
  - How do I tune the lesson caps?
31
31
  locale: en-US
32
32
  created: 2026-06-08
33
- updated: 2026-06-08
33
+ updated: 2026-06-07
34
34
  keywords:
35
35
  - lessons
36
36
  - feedback
@@ -112,9 +112,10 @@ Those raw signals don't become lessons immediately. Each night the
112
112
  [evening review](../routines/evening-review.md) folds the day's
113
113
  unconsumed signals into the right store as dated lessons, then marks them
114
114
  consumed (it skips the step entirely when nothing pends). Once a month
115
- the monthly review runs a re-generalize pass that collapses several
116
- same-theme lessons into one higher-level principle, keeping each store
117
- small.
115
+ the monthly review off by default; opt in by enabling the
116
+ monthly-review agent at `/agents/monthly-review` runs a re-generalize
117
+ pass that collapses several same-theme lessons into one higher-level
118
+ principle, keeping each store small.
118
119
 
119
120
  ## Provisional vs. active
120
121
 
@@ -169,8 +170,8 @@ any time — the loop will pick up from whatever it finds the next night.
169
170
  - [Evening Review](../routines/evening-review.md) — folds the day's
170
171
  feedback signals into these stores each night.
171
172
  - [Weekly Review](../routines/weekly-review.md) — posts self-critique
172
- signals that feed the loop. The monthly review re-generalizes the
173
- stores once a month.
173
+ signals that feed the loop. The optional (off-by-default) monthly
174
+ review re-generalizes the stores once a month.
174
175
  - [agent journal](agent-journal.md) — the reflection-shaped diary, a
175
176
  separate file from these directive stores.
176
177
  - [Knowledge layout](../../reference/knowledge-layout.md) — where the
@@ -56,8 +56,8 @@ project's lifetime.
56
56
 
57
57
  - Captures the project's purpose, status, links, and recent decisions
58
58
  in a single durable note.
59
- - Surfaces in the morning routine while the project is active and the
60
- roadmap has Preparation Timeline rows pointing at it.
59
+ - Surfaces in the morning routine while the project is active (its
60
+ `state` is not `archived`).
61
61
  - Becomes the canonical reference the agent quotes from in DMs.
62
62
 
63
63
  ## File Shape
@@ -99,8 +99,9 @@ Read on demand. Written when the operator asks the agent to remember
99
99
  something project-specific, or when a DM expresses project intent
100
100
  (create, update status, mark done).
101
101
 
102
- The agent never edits files on disk — it has no `Edit`/`Write` tools.
103
- All project writes go through the context API:
102
+ The agent cannot edit context files on disk — a pre-write hook blocks
103
+ `Edit`/`Write` anywhere inside the context vault. All project writes go
104
+ through the context API:
104
105
 
105
106
  - `GET /api/context/list/projects` — discover existing project files.
106
107
  - `PUT /api/context/plans/projects/<slug>` — create or fully replace.
@@ -29,7 +29,7 @@ ask_examples:
29
29
  - How do I change which sections the daily journal includes?
30
30
  locale: en-US
31
31
  created: 2026-04-25
32
- updated: 2026-05-28
32
+ updated: 2026-06-10
33
33
  keywords:
34
34
  - daily journal
35
35
  - diary
@@ -43,6 +43,7 @@ related:
43
43
  - concepts/agent-day
44
44
  ui_anchors:
45
45
  - /schedule
46
+ - /agents/morning-routine?tab=rulebook
46
47
  process_keys:
47
48
  - routine.morning_routine_journal
48
49
  context_files:
@@ -122,7 +123,8 @@ do not rewrite them.
122
123
  The daily journal does **not** appear on the Schedule page — that page
123
124
  shows the scheduler's wake-ups and recurring routines, not these files.
124
125
 
125
- - **Journal settings (`/settings/journal`)** is where you shape the
126
+ - **The morning-routine agent's Rulebook tab
127
+ (`/agents/morning-routine?tab=rulebook`)** is where you shape the
126
128
  output: the Format and Export rule files control which sections
127
129
  appear, the voice, the required frontmatter, and the redaction /
128
130
  inclusion rules applied on every synthesis run. Edits take effect on
@@ -132,7 +134,8 @@ shows the scheduler's wake-ups and recurring routines, not these files.
132
134
 
133
135
  There is nothing to configure on the files themselves; they are a
134
136
  side effect of the morning routine. To change *what* gets written, edit
135
- the journal Format and Export rules at `/settings/journal`.
137
+ the journal Format and Export rules on the morning-routine agent's
138
+ Rulebook tab (`/agents/morning-routine?tab=rulebook`).
136
139
 
137
140
  Retention is unlimited — old files accumulate. A manual prune
138
141
  (`rm ~/.personal-agent/context/journal/daily/2025-*.md`) is safe.
@@ -9,7 +9,7 @@ aliases:
9
9
  category: features
10
10
  summary: |
11
11
  today.md is the live plan for the current agent day. The morning
12
- routine rebuilds it each day; the hourly check, evening review,
12
+ routine rebuilds it each day; the activity scan, evening review,
13
13
  and the operator all read and append to it during the day.
14
14
  section: memory-files
15
15
  tags:
@@ -23,7 +23,7 @@ ask_examples:
23
23
  - Why does today.md keep getting rewritten?
24
24
  locale: en-US
25
25
  created: 2026-04-25
26
- updated: 2026-05-28
26
+ updated: 2026-06-07
27
27
  keywords:
28
28
  - today
29
29
  - day plan
@@ -31,7 +31,7 @@ keywords:
31
31
  - handoff
32
32
  related:
33
33
  - features/routines/morning-routine
34
- - features/routines/hourly-check
34
+ - features/routines/activity-scan
35
35
  - features/routines/evening-review
36
36
  - features/memory-files/schedule
37
37
  - concepts/agent-day
@@ -59,7 +59,9 @@ today.md holds six sections, written in this order:
59
59
  - **User Schedule** — the day's calendar events.
60
60
  - **User Tasks** — today's external tasks plus agent-tracked to-dos.
61
61
  - **Agent Plan** — what the agent intends to work on today (each row is
62
- registered as a schedule entry by the morning routine).
62
+ registered as a schedule entry by the morning routine; mid-day
63
+ sessions may add rows for new signals or cancel ones whose premise
64
+ changed).
63
65
  - **Agent Notes** — look-ahead items and date-bound memos folded in from
64
66
  inbox triage.
65
67
  - **Agent Log** — what actually happened, appended throughout the day.
@@ -69,10 +71,11 @@ today.md holds six sections, written in this order:
69
71
 
70
72
  - The **morning routine** fully rebuilds today.md (the daemon first
71
73
  rotates the previous day's file to `state/yesterday.md`).
72
- - The **hourly check** routes new observations into the right section
74
+ - The **activity scan** routes new observations into the right section
73
75
  and appends short status lines under Agent Log.
74
76
  - The **evening review** finalizes the file — it updates Agent Log and
75
- the Handoff section before writing the daily journal.
77
+ the Handoff section. (The daily journal itself is written the next
78
+ morning, from the rotated file.)
76
79
 
77
80
  ## How It Is Written
78
81
 
@@ -94,6 +97,6 @@ during the morning routine: while the lock is held, a write to
94
97
  ## Related
95
98
 
96
99
  - [Morning routine](../routines/morning-routine.md)
97
- - [Hourly check](../routines/hourly-check.md)
100
+ - [Activity scan](../routines/activity-scan.md)
98
101
  - [Evening review](../routines/evening-review.md)
99
102
  - [schedule/ files](schedule.md)
@@ -13,7 +13,8 @@ category: features
13
13
  summary: |
14
14
  identity/profile.md is the agent's stable profile of the operator — role,
15
15
  focus areas, preferences, names of important people. The agent reads it
16
- on every session and appends only with the operator's permission.
16
+ on every session and silently appends durable facts the operator states
17
+ in DMs.
17
18
  section: memory-files
18
19
  tags:
19
20
  - memory
@@ -26,7 +27,7 @@ ask_examples:
26
27
  - Will the agent change my profile without asking?
27
28
  locale: en-US
28
29
  created: 2026-04-25
29
- updated: 2026-05-28
30
+ updated: 2026-06-07
30
31
  keywords:
31
32
  - user profile
32
33
  - identity/profile.md
@@ -54,8 +55,8 @@ context_files:
54
55
 
55
56
  ## In One Sentence
56
57
 
57
- A stable, mostly hand-edited profile of you — the agent reads it
58
- every session and appends only with explicit permission.
58
+ A stable profile of you — the agent reads it every session and
59
+ silently appends durable facts you state in DMs.
59
60
 
60
61
  ## What It Does
61
62
 
@@ -76,9 +77,12 @@ every session and appends only with explicit permission.
76
77
  ## When It Runs / How It Is Triggered
77
78
 
78
79
  - **Read continuously** — loaded at the start of every session.
79
- - **Written** only when you say "remember that…" in a DM, or during
80
- the profile sweep routine (`routine.user_profile_sweep`), which
81
- routes captured facts into the appropriate `identity/*.md` slice.
80
+ - **Written** silently, in the same turn, when you state a durable
81
+ fact about yourself in a DM ("remember that…", "I'm a…", "my
82
+ manager is…"), and during the profile sweep routine
83
+ (`routine.user_profile_sweep`), which catches facts the DM-time
84
+ capture missed and routes them into the appropriate
85
+ `identity/*.md` slice.
82
86
 
83
87
  The agent never edits these files directly. It writes through the
84
88
  daemon's context API — for example
@@ -101,8 +105,9 @@ To tell the agent a durable fact about yourself, just say it in a DM:
101
105
 
102
106
  > remember that my manager is Priya and we sync every Monday at 10am
103
107
 
104
- The agent appends a line to the relevant slice (here `identity/people.md`)
105
- after confirming, and recalls it in future sessions.
108
+ The agent silently appends a line to the relevant slice (here
109
+ `identity/people.md`) in the same turn, and recalls it in future
110
+ sessions.
106
111
 
107
112
  ## When Something Goes Wrong
108
113
 
@@ -6,6 +6,7 @@ id: bang-commands
6
6
  aliases:
7
7
  - "!stop"
8
8
  - "!start"
9
+ - "!status"
9
10
  - "!cost"
10
11
  - "!report"
11
12
  - "!help"
@@ -36,7 +37,7 @@ ask_examples:
36
37
  - How do I accept a research-cluster offer?
37
38
  locale: en-US
38
39
  created: 2026-05-12
39
- updated: 2026-05-28
40
+ updated: 2026-06-07
40
41
  keywords:
41
42
  - bang command
42
43
  - "!stop"
@@ -88,10 +89,21 @@ Pair your messaging app first; see
88
89
  | Command | What it does |
89
90
  |---|---|
90
91
  | `!help` | List every registered command — built-ins plus enabled user commands. |
91
- | `!stop` | Pause cron-driven autonomous work (hourly check, morning / evening / weekly routines, scheduled tasks). In-flight runs are **not** aborted. |
92
+ | `!stop` | Pause cron-driven autonomous work (activity scan, morning / evening / weekly routines, scheduled tasks). In-flight runs are **not** aborted. |
92
93
  | `!start` | Resume autonomous work after `!stop`. |
93
94
  | `!close` | Close the active DM session for the current routing tuple so the next DM starts a fresh conversation. |
94
95
 
96
+ ### Tasks (detached background / browser work)
97
+
98
+ These inspect and cancel the long-running detached workers (background
99
+ tasks and browser tasks). They run ahead of the agent — even while a DM
100
+ turn or a result-delivery turn is in flight — and are safe while paused.
101
+
102
+ | Command | What it does |
103
+ |---|---|
104
+ | `!status` | List the active background + browser tasks (kind, short id, state, title). Empty when nothing is running. |
105
+ | `!stop <id>` | Cancel one task by its id (the short id from `!status` is fine; any unambiguous prefix works). **Bare `!stop` (no id) pauses the whole agent** — the lifecycle command above. |
106
+
95
107
  ### Reporting (pure DB reads, safe while paused)
96
108
 
97
109
  | Command | What it does |
@@ -100,6 +112,7 @@ Pair your messaging app first; see
100
112
  | `!cost claude` · `!cost codex` · `!cost gemini` · `!cost opencode` | Spend for a single backend (one row per registered backend). |
101
113
  | `!report` | Recent agent failures (last 7 days, top groups, most recent sample). |
102
114
  | `!checks` | Today's top browser reload patterns (domain + first path segment). Pure read on `browser_reload_signals`; anchored on the agent-day (`dayBoundaryHour`). Empty state is the common case for a quiet day. |
115
+ | `!revert tuning` | Undo the most recent self-tuning config change (the one announced in a "Self-tuning (R…)" DM). Restores the previous value through the standard config chokepoint and puts the key into a 28-day re-proposal cool-down. Safe while paused. |
103
116
 
104
117
  ### Research clusters (browser-history)
105
118
 
@@ -193,9 +206,10 @@ were hidden.
193
206
 
194
207
  ## How They Behave
195
208
 
196
- - **Exact match for atomic commands** (`!stop`, `!cost`, `!checks`)
197
- and **prefix match for parameterised ones** (`!cost claude`,
198
- `!research accept <slug>`, `!compile @work full`). Anything
209
+ - **Exact match for atomic commands** (`!stop`, `!cost`, `!checks`
210
+ each `!cost <backend>` variant is its own exact-match entry) and
211
+ **prefix match for parameterised ones**
212
+ (`!research accept <slug>`, `!compile @work full`). Anything
199
213
  spanning newlines falls through to the agent path so a
200
214
  `"!stop\nignore me"` payload cannot spoof a command.
201
215
  - **DM only.** Bangs typed into a shared channel are ignored.
@@ -207,7 +221,8 @@ were hidden.
207
221
  - **While paused**, any DM (bang or not) replies with the paused
208
222
  notice; only commands that opt into `runsWhilePaused` continue to
209
223
  run: `!stop`, `!start`, `!close`, `!cost` (and `!cost <backend>`),
210
- `!report`, `!help`, `!checks`, `!wiki` (status), and `!wiki help`.
224
+ `!report`, `!help`, `!checks`, `!revert tuning`, `!wiki` (status),
225
+ and `!wiki help`.
211
226
  Every other command — including **all** `!research` subcommands and
212
227
  the LLM-dispatching wiki commands (`!ingest`, `!compile`, `!ask`,
213
228
  `!lint`, `!trace`, `!connect`) — replies with a command-aware
@@ -53,9 +53,8 @@ related:
53
53
  ui_anchors:
54
54
  - /connections
55
55
  - /connections/messaging
56
- - /settings/connections
57
56
  - /settings/commands
58
- - /settings/schedule
57
+ - /settings/hours
59
58
  process_keys:
60
59
  - message.dm
61
60
  - message.mention
@@ -101,8 +100,9 @@ the owner channel independently.
101
100
 
102
101
  ## When It Runs / How It Is Triggered
103
102
 
104
- - The messaging adapter for each connected platform polls / receives
105
- webhooks for incoming messages.
103
+ - The messaging adapter for each connected platform long-polls
104
+ (Telegram) or holds a persistent WebSocket connection (Slack,
105
+ Discord, WhatsApp) for incoming messages.
106
106
  - An incoming DM dispatches to the `message.dm` ProcessKey.
107
107
  - An incoming mention dispatches to `message.mention`.
108
108
  - Notifications fire as a side-effect of routines and observations
@@ -111,21 +111,24 @@ the owner channel independently.
111
111
  ## What It Outputs
112
112
 
113
113
  - Replies in the operator's chosen messaging app.
114
- - Notification messages, batched during quiet hours.
114
+ - Notification messages suppressed during quiet hours; a pending
115
+ batch is deferred and delivered when the window ends (see
116
+ [Quiet Hours](../operations/quiet-hours.md)).
115
117
 
116
118
  ## Where in the Dashboard
117
119
 
118
120
  - **Connections (`/connections`)** is the unified pairing page.
119
121
  - **Connections → Messaging (`/connections/messaging`)** lists each
120
- app's status, owner channel, and rate limit settings.
122
+ app's status, owner pairing, and notification destinations.
121
123
 
122
124
  ## Configuration
123
125
 
124
126
  - Per-app: bot token / OAuth, owner channel, optional default channel.
125
127
  - Global: `primaryPlatform` (default `slack`) — the platform the agent
126
128
  prefers for outbound notifications when more than one app is paired.
127
- - Outbound rate limits and quiet hours live on `/settings/schedule`
128
- (see [Quiet Hours](../operations/quiet-hours.md)).
129
+ - Outbound rate limits and quiet hours live on `/settings/hours`
130
+ ("Hours & Notifications" — see
131
+ [Quiet Hours](../operations/quiet-hours.md)).
129
132
 
130
133
  ## When Something Goes Wrong
131
134
 
@@ -133,7 +136,7 @@ the owner channel independently.
133
136
  `/connections/messaging` first (see
134
137
  [Pairing & Magic Phrase](pairing-and-magic-phrase.md)).
135
138
  - A **notification you expected but did not get**: check quiet hours
136
- and rate limits on `/settings/schedule`.
139
+ and rate limits on `/settings/hours`.
137
140
 
138
141
  ## Related
139
142
 
@@ -61,7 +61,7 @@ detail lives one click deeper under Conversations.
61
61
 
62
62
  Activity is the unified view of:
63
63
 
64
- - **Routines**: morning, evening, weekly, hourly fires.
64
+ - **Routines**: morning, evening, weekly, activity-scan fires.
65
65
  - **Reactive sessions**: DMs, dashboard chat, mentions.
66
66
  - **Background actions**: notifications sent, mail labeled, schedule
67
67
  files written.