@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
|
@@ -20,7 +20,6 @@ tags:
|
|
|
20
20
|
- autonomous
|
|
21
21
|
- observations
|
|
22
22
|
- polling
|
|
23
|
-
- activity-scan
|
|
24
23
|
status: stable
|
|
25
24
|
ui_anchors:
|
|
26
25
|
- /agents/activity-scan
|
|
@@ -34,7 +33,7 @@ ask_examples:
|
|
|
34
33
|
- How do I tune the gate's freshness window?
|
|
35
34
|
locale: en-US
|
|
36
35
|
created: 2026-04-25
|
|
37
|
-
updated: 2026-
|
|
36
|
+
updated: 2026-07-01
|
|
38
37
|
keywords:
|
|
39
38
|
- hourly
|
|
40
39
|
- observations
|
|
@@ -70,11 +69,13 @@ config_keys:
|
|
|
70
69
|
|
|
71
70
|
# Activity Scan
|
|
72
71
|
|
|
73
|
-
A medium-tier routine that
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
72
|
+
A medium-tier routine that runs every interval during your active
|
|
73
|
+
hours (the daily window when the agent is allowed to work). Each run
|
|
74
|
+
empties the pending observations queue and decides whether the changes
|
|
75
|
+
that piled up are worth notifying you about or just worth logging to
|
|
76
|
+
`state/today.md`. That "decide" step is a four-layer gate, built to
|
|
77
|
+
keep quiet days quiet without missing the moment something actually
|
|
78
|
+
matters.
|
|
78
79
|
|
|
79
80
|
## When It Runs
|
|
80
81
|
|
|
@@ -89,7 +90,8 @@ The legacy `activityScan*` config keys are deprecated fallbacks (see
|
|
|
89
90
|
(recoverable — the dispatcher enqueues a `queueMorningRoutineWake`
|
|
90
91
|
self-recovery and the activity scan resumes after the morning
|
|
91
92
|
routine succeeds).
|
|
92
|
-
- **Skips** when another activity scan is
|
|
93
|
+
- **Skips** when another activity scan is already running (an atomic
|
|
94
|
+
in-flight flag stops two runs from overlapping).
|
|
93
95
|
- **Skips** when accumulated signal is below the agent's **min
|
|
94
96
|
observations** threshold and the heartbeat window
|
|
95
97
|
(`activityScanHeartbeatHours`) hasn't elapsed.
|
|
@@ -119,9 +121,10 @@ Telemetry: `agent_actions.detail.harvest_ran` /
|
|
|
119
121
|
|
|
120
122
|
### Layer 2 — Signal compute
|
|
121
123
|
|
|
122
|
-
`computeActivityScanSignals` reads the observation table mode-blind
|
|
123
|
-
it
|
|
124
|
-
`INTEGRATION_DESCRIPTORS`, never by
|
|
124
|
+
`computeActivityScanSignals` reads the observation table mode-blind
|
|
125
|
+
(it does not care which integration mode wrote a row) — it filters by
|
|
126
|
+
source-prefix sets derived from `INTEGRATION_DESCRIPTORS`, never by
|
|
127
|
+
`actor`. Signal categories
|
|
125
128
|
include unread-mail / event-change / repo-change / browser-history
|
|
126
129
|
clusters; each category produces a (count, last-seen, summary)
|
|
127
130
|
tuple. The pre-pass freshness gate from Layer 1 is what guarantees
|
|
@@ -22,7 +22,6 @@ tags:
|
|
|
22
22
|
- agents
|
|
23
23
|
- autonomous
|
|
24
24
|
- scheduler
|
|
25
|
-
- advanced
|
|
26
25
|
status: deprecated
|
|
27
26
|
ask_examples:
|
|
28
27
|
- What happened to my custom routines?
|
|
@@ -31,7 +30,7 @@ ask_examples:
|
|
|
31
30
|
- How do I create a recurring task now?
|
|
32
31
|
locale: en-US
|
|
33
32
|
created: 2026-04-25
|
|
34
|
-
updated: 2026-
|
|
33
|
+
updated: 2026-07-01
|
|
35
34
|
keywords:
|
|
36
35
|
- custom routine
|
|
37
36
|
- routine.custom.<slug>
|
|
@@ -73,19 +72,21 @@ once, at the first daemon start after the upgrade.
|
|
|
73
72
|
- Recurring work you define is now an **Agent**: a
|
|
74
73
|
`policies/agents/<slug>/agent.md` file that appears on the
|
|
75
74
|
**Agents** page (`/agents`) with its schedule, an enable toggle, run
|
|
76
|
-
metrics, execution history, and a **Run now** button —
|
|
75
|
+
metrics, execution history, and a **Run now** button — features
|
|
77
76
|
custom routines never had. See
|
|
78
77
|
[Create a Recurring Agent](../../guides/add-a-custom-routine.md).
|
|
79
78
|
|
|
80
79
|
## The One-Time Migration
|
|
81
80
|
|
|
82
|
-
|
|
83
|
-
by a
|
|
81
|
+
The first time the daemon (Aitne's background service) starts after
|
|
82
|
+
the upgrade — and only that once, guarded by a saved flag so it can
|
|
83
|
+
never run twice — every file under `policies/routines/custom/` is
|
|
84
84
|
examined:
|
|
85
85
|
|
|
86
86
|
- A **valid routine becomes a user Agent** at
|
|
87
87
|
`policies/agents/<slug>/agent.md` carrying over:
|
|
88
|
-
- the same **cron expression** (pinned to your
|
|
88
|
+
- the same **cron expression** (the schedule rule, pinned to your
|
|
89
|
+
configured timezone),
|
|
89
90
|
- the same **model tier** (`backend_tier` → the Agent's tier),
|
|
90
91
|
- the same **per-run budget** (`max_budget_usd`),
|
|
91
92
|
- the same **enabled state** — a disabled routine migrates disabled.
|
|
@@ -95,7 +96,8 @@ examined:
|
|
|
95
96
|
it came from (`Migrated from custom routine "<slug>".`).
|
|
96
97
|
- The **source file is never deleted.** It is rewritten in place with
|
|
97
98
|
`enabled: false` and a `migrated_to_agent: <slug>` marker in its
|
|
98
|
-
frontmatter, so it
|
|
99
|
+
frontmatter, so you can plainly see it no longer runs while your
|
|
100
|
+
original content is preserved.
|
|
99
101
|
|
|
100
102
|
### Collisions and invalid files
|
|
101
103
|
|
|
@@ -17,8 +17,6 @@ section: routines
|
|
|
17
17
|
tags:
|
|
18
18
|
- routines
|
|
19
19
|
- autonomous
|
|
20
|
-
- daily
|
|
21
|
-
- core
|
|
22
20
|
status: stable
|
|
23
21
|
ask_examples:
|
|
24
22
|
- When does the evening review run?
|
|
@@ -27,7 +25,7 @@ ask_examples:
|
|
|
27
25
|
- How do I disable the evening review?
|
|
28
26
|
locale: en-US
|
|
29
27
|
created: 2026-04-25
|
|
30
|
-
updated: 2026-
|
|
28
|
+
updated: 2026-07-01
|
|
31
29
|
keywords:
|
|
32
30
|
- evening review
|
|
33
31
|
- retro
|
|
@@ -89,10 +87,11 @@ rather than producing a chatty end-of-day report.
|
|
|
89
87
|
|
|
90
88
|
## When It Runs / How It Is Triggered
|
|
91
89
|
|
|
92
|
-
Every day at **18:00 local time**, exactly once. The cron
|
|
93
|
-
(`0 18 * *
|
|
94
|
-
|
|
95
|
-
|
|
90
|
+
Every day at **18:00 local time**, exactly once. The schedule — a cron
|
|
91
|
+
expression (`0 18 * * *`, the standard five-field way to write "18:00 every
|
|
92
|
+
day") — is fixed in `packages/daemon/src/core/scheduler.ts`, so you can't
|
|
93
|
+
change the fire time. Like every autonomous routine, the run is skipped
|
|
94
|
+
while the agent is paused (`!stop`) or setup is not finished.
|
|
96
95
|
|
|
97
96
|
## What It Outputs
|
|
98
97
|
|
|
@@ -16,8 +16,7 @@ section: routines
|
|
|
16
16
|
tags:
|
|
17
17
|
- routines
|
|
18
18
|
- autonomous
|
|
19
|
-
-
|
|
20
|
-
- core
|
|
19
|
+
- scheduler
|
|
21
20
|
status: stable
|
|
22
21
|
ask_examples:
|
|
23
22
|
- When does morning routine run?
|
|
@@ -26,7 +25,7 @@ ask_examples:
|
|
|
26
25
|
- What model does morning routine use?
|
|
27
26
|
locale: en-US
|
|
28
27
|
created: 2026-04-25
|
|
29
|
-
updated: 2026-
|
|
28
|
+
updated: 2026-07-01
|
|
30
29
|
keywords:
|
|
31
30
|
- morning
|
|
32
31
|
- day plan
|
|
@@ -63,9 +62,10 @@ context_files:
|
|
|
63
62
|
|
|
64
63
|
## In One Sentence
|
|
65
64
|
|
|
66
|
-
Once per agent day
|
|
67
|
-
rebuilds `state/today.md`
|
|
68
|
-
roadmap, and recent
|
|
65
|
+
Once per agent day (the daily window that starts when "today" rolls
|
|
66
|
+
over), at `dayBoundaryHour` local time, Aitne rebuilds `state/today.md`
|
|
67
|
+
and the day's schedule from your calendar, mail, roadmap, and recent
|
|
68
|
+
observations.
|
|
69
69
|
|
|
70
70
|
## What It Does
|
|
71
71
|
|
|
@@ -74,16 +74,17 @@ It runs as a **two-stage pipeline**, with both stages dispatched in
|
|
|
74
74
|
parallel:
|
|
75
75
|
|
|
76
76
|
- **Stage A** (`routine.morning_routine_today`, medium tier) rebuilds
|
|
77
|
-
`state/today.md`, walks the roadmap, fans out the day's schedule
|
|
78
|
-
|
|
79
|
-
|
|
77
|
+
`state/today.md`, walks the roadmap, fans out the day's schedule (queues
|
|
78
|
+
each of today's scheduled tasks), and reports structured metadata about
|
|
79
|
+
the run.
|
|
80
|
+
- **Stage B** (`routine.morning_routine_journal`, lite tier) writes
|
|
80
81
|
yesterday's daily journal at `journal/daily/<yesterday>.md` from a
|
|
81
|
-
daemon-prepared skeleton, then
|
|
82
|
-
|
|
82
|
+
daemon-prepared skeleton, then appends the run's audit-trail paragraph
|
|
83
|
+
to `journal/agent.md`.
|
|
83
84
|
|
|
84
|
-
Every
|
|
85
|
-
|
|
86
|
-
|
|
85
|
+
Every routine that runs over the next 24 hours reads Stage A's output, so
|
|
86
|
+
a bad morning briefing drags down the whole day. That is why Stage A stays
|
|
87
|
+
capped at the medium tier even after the split.
|
|
87
88
|
|
|
88
89
|
Within Stage A, the work proceeds in this order:
|
|
89
90
|
|
|
@@ -103,12 +104,12 @@ so a post-midnight install does not run two morning routines back-to-back.
|
|
|
103
104
|
There is no separate `morningRoutineHour` — the morning routine and the
|
|
104
105
|
agent-day rollover are the same instant.
|
|
105
106
|
|
|
106
|
-
There is no separate "initial" process key.
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
Annual Goals / Quarterly Focus / Preparation Timeline facts
|
|
110
|
-
can
|
|
111
|
-
paying for a one-shot high-tier session. (The dedicated
|
|
107
|
+
There is no separate "initial" process key. Stage A detects the first
|
|
108
|
+
morning after setup on its own, from the missing `state/yesterday.md` file.
|
|
109
|
+
The daemon then injects a `<roadmap_skeleton>` block carrying the
|
|
110
|
+
pre-aggregated Annual Goals / Quarterly Focus / Preparation Timeline facts,
|
|
111
|
+
so Stage A can fill in the wizard's placeholder roadmap on the medium tier
|
|
112
|
+
instead of paying for a one-shot high-tier session. (The dedicated
|
|
112
113
|
`routine.morning_routine_initial` process key — along with its high-tier
|
|
113
114
|
seed — was retired in Phase 7, 2026-05-16; the first-run branch now flows
|
|
114
115
|
through the parent `routine.morning_routine` envelope.)
|
|
@@ -133,9 +134,9 @@ through the parent `routine.morning_routine` envelope.)
|
|
|
133
134
|
| Setting | Default | Notes |
|
|
134
135
|
|---|---|---|
|
|
135
136
|
| `dayBoundaryHour` | `4` | Both the agent-day boundary and the morning-routine fire time. See [Agent Day](../../concepts/agent-day.md). |
|
|
136
|
-
| Stage A tier (`routine.morning_routine_today`) | medium (Sonnet
|
|
137
|
+
| Stage A tier (`routine.morning_routine_today`) | medium (Sonnet 5) | Synthesises `state/today.md` + the day's roadmap fan-out. Adjustable per-row in Settings → Models. |
|
|
137
138
|
| Stage B tier (`routine.morning_routine_journal`) | lite (Haiku 4.5) | Authors `journal/daily/<date>.md` and the `journal/agent.md` audit paragraph. |
|
|
138
|
-
| Stage A max turns / budget | 50 turns / $
|
|
139
|
+
| Stage A max turns / budget | 50 turns / $2.00 | Per-execute envelope for `routine.morning_routine_today`. Adjustable in Settings → Models. |
|
|
139
140
|
| Stage B max turns / budget | 20 turns / $0.30 | Per-execute envelope for `routine.morning_routine_journal`. |
|
|
140
141
|
|
|
141
142
|
The parent `routine.morning_routine` key keeps its own envelope (50 turns / $2.00) for the pipeline entry point. Codex and Gemini backends scale the dollar caps by a per-tier factor (lite ×2.5, medium ×1.5); the router enforces the cap before token costs accumulate.
|
|
@@ -19,7 +19,6 @@ tags:
|
|
|
19
19
|
- routines
|
|
20
20
|
- autonomous
|
|
21
21
|
- journal
|
|
22
|
-
- reflection
|
|
23
22
|
status: stable
|
|
24
23
|
ask_examples:
|
|
25
24
|
- When does the weekly review run?
|
|
@@ -27,7 +26,7 @@ ask_examples:
|
|
|
27
26
|
- Where do weekly retros get 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
|
- weekly review
|
|
33
32
|
- Friday review
|
|
@@ -58,49 +57,54 @@ context_files:
|
|
|
58
57
|
|
|
59
58
|
## In One Sentence
|
|
60
59
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
60
|
+
Every Friday evening, a medium-tier weekly retrospective (a look back
|
|
61
|
+
over the week) runs and writes a summary into
|
|
62
|
+
`journal/weekly/YYYY-Www.md` — one file per ISO week (the standard
|
|
63
|
+
Mon–Sun week numbering). Its **Carry Over / Next Week Focus /
|
|
64
|
+
Lessons** sections are then copied into every morning routine of the
|
|
65
|
+
following ISO week.
|
|
65
66
|
|
|
66
67
|
## What It Does
|
|
67
68
|
|
|
68
69
|
- Reads each `journal/daily/YYYY-MM-DD.md` for the current ISO week,
|
|
69
70
|
the week's calendar retrospective, the roadmap, and active projects.
|
|
70
|
-
-
|
|
71
|
-
Lessons — and writes the
|
|
72
|
-
-
|
|
71
|
+
- Pulls this together along three lines — Outcomes, Forward items,
|
|
72
|
+
and Behavioral Lessons — and writes the summary you read.
|
|
73
|
+
- Adds a private, agent-only block to `journal/agent.md` covering
|
|
73
74
|
self-critique, filter quality, and improvement ideas.
|
|
74
|
-
- Feeds the learning loop: for each concrete, actionable
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
-
|
|
80
|
-
pre-step
|
|
81
|
-
pre-pass freshness window because most fetches came back
|
|
82
|
-
|
|
83
|
-
apply / reject / defer verdict for each. While
|
|
84
|
-
`false` (the default) nothing
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
-
|
|
93
|
-
|
|
75
|
+
- Feeds the learning loop: for each concrete, actionable improvement
|
|
76
|
+
idea it finds, it also posts a `source=self_critique` feedback
|
|
77
|
+
signal (on top of the `journal/agent.md` note), so the idea gets
|
|
78
|
+
folded into the [agent lessons](../memory-files/agent-lessons.md)
|
|
79
|
+
instead of only living in the journal.
|
|
80
|
+
- Reviews the daemon's self-tuning suggestions: when the weekly
|
|
81
|
+
pre-step spots a cost setting worth changing (for example, widening
|
|
82
|
+
the mail pre-pass freshness window because most fetches came back
|
|
83
|
+
empty), it puts forward up to three bounded proposals, and the
|
|
84
|
+
review records an apply / reject / defer verdict for each. While
|
|
85
|
+
`selfTuningEnabled` is `false` (the default), nothing changes
|
|
86
|
+
automatically — the verdicts are only recorded for the owner to
|
|
87
|
+
review (this is called shadow mode). With the flag on, an apply
|
|
88
|
+
verdict takes effect immediately, kept inside hard per-key limits;
|
|
89
|
+
the owner gets a one-line DM for each applied change
|
|
90
|
+
(`!revert tuning` undoes the most recent one), and a daily monitor
|
|
91
|
+
automatically rolls back any change whose 7-day follow-up metrics
|
|
92
|
+
got worse.
|
|
93
|
+
- Sends a short Friday-evening notification by default. It stays quiet
|
|
94
|
+
(the silence gate) only when the week was essentially blank.
|
|
95
|
+
- Refreshes `identity/reading-taste.md` and your Book Candidates once
|
|
96
|
+
enough new highlights have piled up.
|
|
94
97
|
|
|
95
98
|
## When It Runs / How It Is Triggered
|
|
96
99
|
|
|
97
|
-
|
|
98
|
-
The schedule is fixed in
|
|
99
|
-
|
|
100
|
-
the **Fri / Sat / Sun
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
100
|
+
It runs every **Friday at 19:00 local time**, one hour after
|
|
101
|
+
`evening_review`. The schedule is fixed in
|
|
102
|
+
`packages/daemon/src/core/scheduler.ts` and can't be changed. If the
|
|
103
|
+
Friday run is missed (say, the daemon was down), the **Fri / Sat / Sun
|
|
104
|
+
catch-up window** in `schedule-helpers.ts` runs the retro as soon as
|
|
105
|
+
the daemon recovers, before the new ISO week begins. A Mon–Thu
|
|
106
|
+
catch-up is left out on purpose, so the next week's `<previous_week>`
|
|
107
|
+
injection stays a stable Mon–Sun.
|
|
104
108
|
|
|
105
109
|
## What It Outputs
|
|
106
110
|
|
|
@@ -111,25 +115,27 @@ a Mon–Thu catch-up is intentionally out of scope so the next week's
|
|
|
111
115
|
|
|
112
116
|
## Configuration
|
|
113
117
|
|
|
114
|
-
The
|
|
115
|
-
and
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
118
|
+
The run time (Friday 19:00 local) and the day of the week are fixed in
|
|
119
|
+
code and can't be changed. What you *can* change is the backend and
|
|
120
|
+
model behind this routine: `routine.weekly_review` is a configurable
|
|
121
|
+
process key (default **medium** tier — Sonnet on Claude) that you can
|
|
122
|
+
repoint from **Settings → Models**. The weekly rulebook
|
|
119
123
|
(`policies/routines/weekly.md`) is edited on the weekly-review agent's
|
|
120
|
-
Rulebook tab (`/agents/weekly-review?tab=rulebook`), where
|
|
121
|
-
|
|
124
|
+
Rulebook tab (`/agents/weekly-review?tab=rulebook`), where you can also
|
|
125
|
+
enable or disable the agent.
|
|
122
126
|
|
|
123
127
|
## When Something Goes Wrong
|
|
124
128
|
|
|
125
|
-
- The retro **doesn't
|
|
126
|
-
retries on Saturday and Sunday agent-days
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
129
|
+
- The retro **doesn't run on Friday**: the Fri–Sun catch-up window
|
|
130
|
+
retries on the Saturday and Sunday agent-days (the agent's own day,
|
|
131
|
+
which rolls over at `dayBoundaryHour` rather than at midnight). If
|
|
132
|
+
the daemon is down for the whole Fri–Sun window, the weekly file is
|
|
133
|
+
never written, and the next week's morning routines simply carry on
|
|
134
|
+
without the `<previous_week>` block.
|
|
135
|
+
- The retro **runs but the file is empty** (the silence gate): this is
|
|
136
|
+
fine for a genuinely blank week — the file is still written, just
|
|
137
|
+
with empty sections, and the next week's morning routine sees
|
|
138
|
+
`(none recorded)` sub-blocks. That is the intended signal, not a bug.
|
|
133
139
|
|
|
134
140
|
## Related
|
|
135
141
|
|
|
@@ -21,8 +21,6 @@ summary: |
|
|
|
21
21
|
section: wiki
|
|
22
22
|
tags:
|
|
23
23
|
- wiki
|
|
24
|
-
- bang-commands
|
|
25
|
-
- core
|
|
26
24
|
status: stable
|
|
27
25
|
ask_examples:
|
|
28
26
|
- How do I send a URL to the wiki?
|
|
@@ -34,7 +32,7 @@ ask_examples:
|
|
|
34
32
|
- How do I bridge two domains with `!connect`?
|
|
35
33
|
locale: en-US
|
|
36
34
|
created: 2026-05-12
|
|
37
|
-
updated: 2026-
|
|
35
|
+
updated: 2026-07-01
|
|
38
36
|
keywords:
|
|
39
37
|
- !ingest
|
|
40
38
|
- !compile
|
|
@@ -48,6 +46,7 @@ keywords:
|
|
|
48
46
|
related:
|
|
49
47
|
- features/wiki/overview
|
|
50
48
|
- features/messaging/bang-commands
|
|
49
|
+
- features/wiki/cost-and-approval
|
|
51
50
|
- guides/budget-and-cost-for-wiki
|
|
52
51
|
- guides/maintain-wiki-health
|
|
53
52
|
- guides/explore-with-trace-and-connect
|
|
@@ -67,9 +66,10 @@ ui_anchors:
|
|
|
67
66
|
|
|
68
67
|
# Wiki Commands
|
|
69
68
|
|
|
70
|
-
|
|
69
|
+
These are bang commands — chat messages that start with `!`. Send
|
|
70
|
+
them from a paired DM channel once the wiki is turned on. Open
|
|
71
71
|
**Settings → Wiki** (`/settings/wiki`) to enable a workspace, then
|
|
72
|
-
|
|
72
|
+
read the results under **My Life → Wiki** (`/wiki`).
|
|
73
73
|
|
|
74
74
|
| Command | Effect |
|
|
75
75
|
|---|---|
|
|
@@ -91,17 +91,17 @@ batch at 10 URLs.
|
|
|
91
91
|
## `@<workspace>` — addressing a non-default workspace
|
|
92
92
|
|
|
93
93
|
If you run more than one wiki workspace (Phase 5), every bang command
|
|
94
|
-
accepts an optional `@<name>` token
|
|
95
|
-
token
|
|
96
|
-
|
|
97
|
-
|
|
94
|
+
accepts an optional `@<name>` token right after the bang. Aitne reads
|
|
95
|
+
this token first and removes it before the command parses the rest of
|
|
96
|
+
your message, so multi-word topics and comma-separated arguments still
|
|
97
|
+
work as usual:
|
|
98
98
|
|
|
99
99
|
!compile @research full
|
|
100
100
|
!ask @parenting what did the pediatrician recommend?
|
|
101
101
|
!connect @research diffusion models, score matching
|
|
102
102
|
|
|
103
103
|
Omit the token and the command targets the **default** workspace.
|
|
104
|
-
See
|
|
104
|
+
See [guides/multiple-wikis-for-multiple-domains](../../guides/multiple-wikis-for-multiple-domains.md)
|
|
105
105
|
for a walkthrough.
|
|
106
106
|
|
|
107
107
|
## `!compile --preview` — the dry run
|
|
@@ -119,14 +119,15 @@ Use `!compile --preview` (or `--dry-run`) when you want to see what
|
|
|
119
119
|
- **est. duration** — Rough wall-clock estimate (intentionally
|
|
120
120
|
pessimistic).
|
|
121
121
|
|
|
122
|
-
|
|
123
|
-
merge or skip pages
|
|
124
|
-
predict
|
|
125
|
-
Reply `!compile` (or `!compile full`) to
|
|
122
|
+
Treat the preview as an upper bound. The real compile runs an LLM,
|
|
123
|
+
which may merge or skip pages as it works, so the preview cannot
|
|
124
|
+
predict the outcome exactly — but it will never undercount the pages
|
|
125
|
+
it touches. Reply `!compile` (or `!compile full`) to run the compile
|
|
126
|
+
for real.
|
|
126
127
|
|
|
127
128
|
## Dispatch Mode for `!ingest`
|
|
128
129
|
|
|
129
|
-
`!ingest`
|
|
130
|
+
`!ingest` follows the per-workspace **dispatch mode** set in
|
|
130
131
|
Settings → Wiki:
|
|
131
132
|
|
|
132
133
|
- **Parallel** (default): all URLs fan out simultaneously up to the
|
|
@@ -142,11 +143,11 @@ The acknowledgement DM names the mode that ran (`in parallel` /
|
|
|
142
143
|
|
|
143
144
|
## `!compile full` — the Cost Gate
|
|
144
145
|
|
|
145
|
-
Full rebuilds touch every wiki note
|
|
146
|
-
command in the wiki surface.
|
|
146
|
+
Full rebuilds touch every wiki note, so they are the most expensive
|
|
147
|
+
command in the wiki surface. Here is what happens when you run one:
|
|
147
148
|
|
|
148
149
|
1. The bang handler estimates the cost (per raw note, an on-disk
|
|
149
|
-
char→token approximation × Sonnet
|
|
150
|
+
char→token approximation × Sonnet 5 input price, bracketed
|
|
150
151
|
optimistic 0.5× / expected 1× / pessimistic 2×).
|
|
151
152
|
2. On an external git-tracked vault with **Auto-commit before
|
|
152
153
|
`!compile full`** enabled and a clean working tree, Aitne runs
|
|
@@ -160,15 +161,20 @@ command in the wiki surface. The flow:
|
|
|
160
161
|
4. Otherwise, the run starts autonomously and you receive a
|
|
161
162
|
completion DM with actual spend.
|
|
162
163
|
|
|
163
|
-
The same estimate is shown live in **Settings → Wiki
|
|
164
|
-
see what the next `!compile full` will cost before you run it.
|
|
164
|
+
The same estimate is shown live in **Settings → Wiki**, so you can
|
|
165
|
+
see what the next `!compile full` will cost before you run it. See
|
|
166
|
+
[features/wiki/cost-and-approval](cost-and-approval.md) for the full
|
|
167
|
+
cost-estimation and approval reference.
|
|
165
168
|
|
|
166
169
|
## Operational Triad — `!lint`, `!trace`, `!connect`
|
|
167
170
|
|
|
168
171
|
These three commands round out the wiki surface for ongoing
|
|
169
172
|
maintenance and exploration. None of them write to the content
|
|
170
173
|
layers (`10_raw/`, `20_wiki/`); they only produce health reports
|
|
171
|
-
(`90_meta/health/`) or output documents (`30_outputs/`).
|
|
174
|
+
(`90_meta/health/`) or output documents (`30_outputs/`). This
|
|
175
|
+
section is the command reference; for the step-by-step workflows,
|
|
176
|
+
see [guides/maintain-wiki-health](../../guides/maintain-wiki-health.md)
|
|
177
|
+
and [guides/explore-with-trace-and-connect](../../guides/explore-with-trace-and-connect.md).
|
|
172
178
|
|
|
173
179
|
### `!lint`
|
|
174
180
|
|
|
@@ -197,7 +203,7 @@ Timeline & health** (`/wiki/timeline`).
|
|
|
197
203
|
### `!trace <topic>`
|
|
198
204
|
|
|
199
205
|
Reconstructs the chronological evolution of an idea across every
|
|
200
|
-
wiki layer. Use a free-form topic — the skill
|
|
206
|
+
wiki layer. Use a free-form topic — the skill matches it against
|
|
201
207
|
`90_meta/taxonomy.md` before deriving the output slug:
|
|
202
208
|
|
|
203
209
|
```
|
|
@@ -25,7 +25,6 @@ tags:
|
|
|
25
25
|
- cost
|
|
26
26
|
- approval
|
|
27
27
|
- safety
|
|
28
|
-
- core
|
|
29
28
|
status: stable
|
|
30
29
|
ask_examples:
|
|
31
30
|
- How does !compile full estimate cost?
|
|
@@ -39,7 +38,7 @@ ask_examples:
|
|
|
39
38
|
- Can I see the cost before running !compile full?
|
|
40
39
|
locale: en-US
|
|
41
40
|
created: 2026-05-21
|
|
42
|
-
updated: 2026-
|
|
41
|
+
updated: 2026-07-01
|
|
43
42
|
keywords:
|
|
44
43
|
- cost estimate
|
|
45
44
|
- cost bracket
|
|
@@ -106,26 +105,30 @@ The same estimator backs four surfaces so the numbers cannot drift:
|
|
|
106
105
|
|
|
107
106
|
## How the estimator works
|
|
108
107
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
108
|
+
The estimate is plain JavaScript math — it never starts an agent or
|
|
109
|
+
calls the model, so it costs nothing and returns instantly. The
|
|
110
|
+
estimator (`packages/daemon/src/core/wiki/cost-estimate.ts`) opens
|
|
111
|
+
each raw note under `10_raw/`, approximates its token count from the
|
|
112
|
+
text on disk, then multiplies the total by the tier unit cost and
|
|
113
|
+
wraps it in a 0.5×/2× bracket (a low/high range).
|
|
114
114
|
|
|
115
115
|
### Character → token approximation
|
|
116
116
|
|
|
117
|
-
- **Latin / English content** —
|
|
118
|
-
OpenAI rule-of-thumb; matches Anthropic's
|
|
119
|
-
for prose
|
|
120
|
-
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
117
|
+
- **Latin / English content** — about 4 characters per token. This
|
|
118
|
+
is the well-known OpenAI rule-of-thumb; it matches Anthropic's
|
|
119
|
+
tokenizer within ±15% for prose, confirmed against the
|
|
120
|
+
gpt-tokenizer package.
|
|
121
|
+
- **CJK content** (Chinese, Japanese, Korean) — about 1.5 characters
|
|
122
|
+
per token. The tokenizer merges short CJK runs, but not as
|
|
123
|
+
aggressively as it merges Latin word fragments, so each character
|
|
124
|
+
carries more weight.
|
|
125
|
+
|
|
126
|
+
To pick a ratio, the classifier counts the Unicode code points whose
|
|
127
|
+
script is one of Han, Hiragana, Katakana, Hangul, or Bopomofo. If a
|
|
128
|
+
file is majority-CJK, the CJK ratio applies to the whole file;
|
|
129
|
+
otherwise the Latin ratio does. Splitting each file script-by-script
|
|
130
|
+
would be slightly more accurate, but it adds 30% more code for a
|
|
131
|
+
sub-percent gain on typical mixed-script files, so we don't.
|
|
129
132
|
|
|
130
133
|
### The 0.5×/2× bracket
|
|
131
134
|
|
|
@@ -188,7 +191,8 @@ estimate landed to the actual cost.
|
|
|
188
191
|
|
|
189
192
|
## The pre-compile git snapshot
|
|
190
193
|
|
|
191
|
-
|
|
194
|
+
This only matters for an **external + git-tracked** vault — a vault
|
|
195
|
+
stored outside Aitne whose folder is a git repository. The gate
|
|
192
196
|
decides:
|
|
193
197
|
|
|
194
198
|
| Workspace state | Outcome |
|
|
@@ -202,9 +206,10 @@ decides:
|
|
|
202
206
|
The snapshot is your rollback target if `!compile full` produces a
|
|
203
207
|
surprise — `git reset --hard <snapshot-commit>` puts the vault back.
|
|
204
208
|
|
|
205
|
-
The pre-compile commit uses no special author identity
|
|
206
|
-
under whatever git is configured to use.
|
|
207
|
-
|
|
209
|
+
The pre-compile commit uses no special author identity — it lands
|
|
210
|
+
under whatever name and email your git is already configured to use.
|
|
211
|
+
If you want to credit Aitne as a co-author, set that up in your git
|
|
212
|
+
config.
|
|
208
213
|
|
|
209
214
|
## The `--preview` dry-run
|
|
210
215
|
|