@aitne-sh/aitne 0.1.6 → 0.1.8
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 +195 -1029
- package/agent-assets/agent-profiles/_safety.md +49 -17
- package/agent-assets/agent-profiles/profile-importer.md +1 -1
- package/agent-assets/agent-profiles/routine.md +4 -3
- package/agent-assets/docs/concepts/agent-day.md +6 -1
- package/agent-assets/docs/concepts/auth-health.md +10 -1
- package/agent-assets/docs/concepts/backends-and-tiers.md +74 -40
- package/agent-assets/docs/concepts/costs-and-quotas.md +25 -5
- package/agent-assets/docs/concepts/delegated-mode.md +147 -68
- package/agent-assets/docs/concepts/memory-model.md +9 -4
- package/agent-assets/docs/concepts/observations.md +13 -1
- package/agent-assets/docs/concepts/process-keys.md +20 -5
- package/agent-assets/docs/concepts/routines.md +38 -20
- package/agent-assets/docs/concepts/safety-model.md +30 -13
- package/agent-assets/docs/concepts/skills.md +12 -7
- package/agent-assets/docs/features/integrations/calendar.md +1 -1
- package/agent-assets/docs/features/integrations/git.md +2 -2
- package/agent-assets/docs/features/integrations/github.md +9 -2
- package/agent-assets/docs/features/integrations/mail.md +1 -1
- package/agent-assets/docs/features/integrations/notion.md +34 -6
- package/agent-assets/docs/features/integrations/obsidian.md +7 -2
- package/agent-assets/docs/features/lifestyle/git.md +4 -7
- package/agent-assets/docs/features/lifestyle/receipts.md +17 -2
- package/agent-assets/docs/features/lifestyle/travel-bookings.md +15 -0
- package/agent-assets/docs/features/lifestyle/travel-time.md +7 -1
- package/agent-assets/docs/features/memory-files/agent-journal.md +2 -2
- package/agent-assets/docs/features/memory-files/projects.md +6 -0
- package/agent-assets/docs/features/memory-files/roadmap.md +5 -0
- package/agent-assets/docs/features/memory-files/today.md +1 -0
- package/agent-assets/docs/features/memory-files/user-profile.md +6 -0
- package/agent-assets/docs/features/messaging/bang-commands.md +20 -10
- package/agent-assets/docs/features/messaging/discord.md +12 -1
- package/agent-assets/docs/features/messaging/overview.md +10 -7
- package/agent-assets/docs/features/messaging/slack.md +13 -1
- package/agent-assets/docs/features/messaging/telegram.md +7 -1
- package/agent-assets/docs/features/messaging/whatsapp.md +12 -1
- package/agent-assets/docs/features/operations/activity-and-conversations.md +2 -2
- package/agent-assets/docs/features/operations/approvals.md +6 -0
- package/agent-assets/docs/features/operations/backend-routing.md +7 -0
- package/agent-assets/docs/features/operations/cost-tracking.md +6 -0
- package/agent-assets/docs/features/operations/notifications.md +6 -0
- package/agent-assets/docs/features/operations/schedule-approaching.md +22 -9
- package/agent-assets/docs/features/routines/custom-routines.md +10 -4
- package/agent-assets/docs/features/routines/evening-review.md +1 -1
- package/agent-assets/docs/features/routines/hourly-check.md +1 -1
- package/agent-assets/docs/features/routines/morning-routine.md +24 -15
- package/agent-assets/docs/features/routines/weekly-review.md +38 -12
- package/agent-assets/docs/features/wiki/commands.md +11 -0
- package/agent-assets/docs/features/wiki/overview.md +13 -3
- package/agent-assets/docs/getting-started/01-what-is-this.md +32 -11
- package/agent-assets/docs/getting-started/02-first-steps.md +17 -4
- package/agent-assets/docs/getting-started/03-what-can-this-do.md +21 -11
- package/agent-assets/docs/getting-started/04-first-day.md +14 -0
- package/agent-assets/docs/glossary.md +65 -12
- package/agent-assets/docs/guides/add-a-custom-routine.md +12 -0
- package/agent-assets/docs/guides/backup-and-restore.md +16 -2
- package/agent-assets/docs/guides/budget-and-cost-for-wiki.md +6 -0
- package/agent-assets/docs/guides/build-your-wiki.md +14 -0
- package/agent-assets/docs/guides/change-which-model-handles-x.md +7 -0
- package/agent-assets/docs/guides/connect-a-new-mail-account.md +16 -0
- package/agent-assets/docs/guides/explore-with-trace-and-connect.md +6 -0
- package/agent-assets/docs/guides/import-knowledge-file.md +11 -0
- package/agent-assets/docs/guides/install-and-run.md +20 -4
- package/agent-assets/docs/guides/maintain-wiki-health.md +6 -0
- package/agent-assets/docs/guides/migrate-machines.md +13 -1
- package/agent-assets/docs/guides/multiple-wikis-for-multiple-domains.md +9 -0
- package/agent-assets/docs/guides/pause-the-agent.md +12 -4
- package/agent-assets/docs/guides/reinstall-cleanly.md +19 -4
- package/agent-assets/docs/guides/setup-wizard.md +20 -9
- package/agent-assets/docs/guides/switch-default-backend.md +10 -1
- package/agent-assets/docs/guides/use-an-existing-obsidian-vault.md +5 -0
- package/agent-assets/docs/reference/api.md +29 -1
- package/agent-assets/docs/reference/cli-commands.md +22 -3
- package/agent-assets/docs/reference/config.md +37 -5
- package/agent-assets/docs/reference/disallowed-tools.md +13 -0
- package/agent-assets/docs/reference/keyboard-shortcuts.md +13 -0
- package/agent-assets/docs/reference/process-keys.md +70 -20
- package/agent-assets/docs/reference/skills.md +27 -9
- package/agent-assets/docs/troubleshooting/auth-failed.md +7 -2
- package/agent-assets/docs/troubleshooting/dashboard-shows-degraded.md +13 -1
- package/agent-assets/docs/troubleshooting/fallback-keeps-firing.md +10 -0
- package/agent-assets/docs/troubleshooting/messaging-not-pairing.md +11 -0
- package/agent-assets/docs/troubleshooting/morning-routine-didnt-run.md +9 -4
- package/agent-assets/docs/troubleshooting/observation-not-detected.md +12 -0
- package/agent-assets/docs/troubleshooting/quota-exhausted.md +7 -1
- package/agent-assets/docs/troubleshooting/wiki-ingest-full-blocked.md +5 -0
- package/agent-assets/docs/troubleshooting/wiki-write-failed.md +5 -0
- package/agent-assets/optimizer-skills/drift-analysis/SKILL.md +1 -1
- package/agent-assets/optimizer-skills/skill-curation/SKILL.md +2 -2
- package/agent-assets/skills/agent-actions/SKILL.md +122 -0
- package/agent-assets/skills/attach/SKILL.md +1 -2
- package/agent-assets/skills/context/SKILL.md +36 -454
- package/agent-assets/skills/context/references/api.md +220 -0
- package/agent-assets/skills/context/references/required-frontmatter.md +73 -0
- package/agent-assets/skills/context/references/snapshot-files.md +103 -0
- package/agent-assets/skills/context/seeds/file-responsibilities.seed.json +1 -1
- package/agent-assets/skills/docs-search/SKILL.md +13 -13
- package/agent-assets/skills/external-services/SKILL.delegated.claude.md +5 -7
- package/agent-assets/skills/external-services/SKILL.delegated.codex.md +5 -7
- package/agent-assets/skills/external-services/SKILL.delegated.gemini.md +5 -7
- package/agent-assets/skills/external-services/SKILL.md +6 -259
- package/agent-assets/skills/external-services/SKILL.native.claude.md +1 -2
- package/agent-assets/skills/external-services/SKILL.native.codex.md +1 -2
- package/agent-assets/skills/external-services/SKILL.native.gemini.md +1 -2
- package/agent-assets/skills/external-services/references/calendar-apple.md +97 -0
- package/agent-assets/skills/external-services/references/calendar-google.md +72 -0
- package/agent-assets/skills/external-services/references/calendar-outlook.md +36 -0
- package/agent-assets/skills/external-services/references/github.md +17 -0
- package/agent-assets/skills/external-services/references/obsidian.md +49 -0
- package/agent-assets/skills/external-services/references/skills-crud.md +27 -0
- package/agent-assets/skills/gmail-lifestyle/SKILL.md +224 -0
- package/agent-assets/skills/gmail-lifestyle/references/receipts-api.md +93 -0
- package/agent-assets/skills/gmail-lifestyle/references/travel-bookings-api.md +75 -0
- package/agent-assets/skills/gmail-lifestyle/references/travel-time-api.md +59 -0
- package/agent-assets/skills/mail/SKILL.delegated.claude.md +1 -1
- package/agent-assets/skills/mail/SKILL.delegated.codex.md +1 -1
- package/agent-assets/skills/mail/SKILL.delegated.gemini.md +1 -1
- package/agent-assets/skills/mail/SKILL.md +9 -114
- package/agent-assets/skills/mail/SKILL.native.claude.md +1 -1
- package/agent-assets/skills/mail/SKILL.native.codex.md +1 -1
- package/agent-assets/skills/mail/SKILL.native.gemini.md +1 -1
- package/agent-assets/skills/mail/references/api.md +108 -0
- package/agent-assets/skills/mail/references/examples.md +70 -0
- package/agent-assets/skills/mail/references/providers.md +8 -8
- package/agent-assets/skills/managed-tasks/SKILL.md +472 -0
- package/agent-assets/skills/managed-tasks/references/errors.md +70 -0
- package/agent-assets/skills/managed-tasks/references/output-path.md +75 -0
- package/agent-assets/skills/managed-tasks/references/recurrence-rule.md +86 -0
- package/agent-assets/skills/management-policy/SKILL.md +33 -105
- package/agent-assets/skills/management-policy/references/policy-workflow.md +101 -0
- package/agent-assets/skills/notify/SKILL.md +6 -78
- package/agent-assets/skills/notify/references/priority.md +60 -0
- package/agent-assets/skills/notion/SKILL.delegated.claude.md +1 -1
- package/agent-assets/skills/notion/SKILL.delegated.codex.md +1 -1
- package/agent-assets/skills/notion/SKILL.delegated.gemini.md +1 -1
- package/agent-assets/skills/notion/SKILL.md +6 -10
- package/agent-assets/skills/notion/SKILL.native.claude.md +1 -2
- package/agent-assets/skills/notion/SKILL.native.codex.md +1 -2
- package/agent-assets/skills/notion/SKILL.native.gemini.md +1 -2
- package/agent-assets/skills/observations/SKILL.md +1 -6
- package/agent-assets/skills/project-doc/SKILL.md +1 -5
- package/agent-assets/skills/reading/SKILL.md +2 -2
- package/agent-assets/skills/roadmap/SKILL.md +37 -135
- package/agent-assets/skills/roadmap/references/api.md +100 -0
- package/agent-assets/skills/roadmap/references/cross-check.md +73 -0
- package/agent-assets/skills/roadmap/references/migration.md +56 -0
- package/agent-assets/skills/roadmap/references/preparation-timeline.md +2 -2
- package/agent-assets/skills/schedule/SKILL.md +52 -88
- package/agent-assets/skills/schedule/references/batch.md +93 -0
- package/agent-assets/skills/schedule/references/errors.md +214 -0
- package/agent-assets/skills/schedule/references/model-selection.md +96 -0
- package/agent-assets/skills/schedule/references/recurrence-rule.md +86 -0
- package/agent-assets/skills/schedule/references/recurring.md +185 -0
- package/agent-assets/skills/scheduled-managed-task/SKILL.md +13 -15
- package/agent-assets/skills/today/SKILL.md +27 -57
- package/agent-assets/skills/today/references/agent-plan-lifecycle.md +113 -0
- package/agent-assets/skills/user-interview/SKILL.md +12 -59
- package/agent-assets/skills/user-interview/references/op-briefing.md +51 -0
- package/agent-assets/skills/user-interview/references/op-morning.md +59 -0
- package/agent-assets/skills/user-interview/references/sweep-and-fallback.md +1 -1
- package/agent-assets/skills/user-profile/SKILL.md +43 -63
- package/agent-assets/skills/user-profile/references/character-preferences.md +83 -0
- package/agent-assets/skills/user-profile/seeds/topic-files.seed.json +28 -0
- package/agent-assets/skills/wiki/wiki-ask/SKILL.md +0 -1
- package/agent-assets/skills/wiki/wiki-compile/SKILL.md +0 -1
- package/agent-assets/skills/wiki/wiki-connect/SKILL.md +0 -1
- package/agent-assets/skills/wiki/wiki-graduate/SKILL.md +0 -1
- package/agent-assets/skills/wiki/wiki-ingest/SKILL.md +0 -1
- package/agent-assets/skills/wiki/wiki-lint/SKILL.md +0 -1
- package/agent-assets/skills/wiki/wiki-trace/SKILL.md +0 -1
- package/agent-assets/skills/wiki/wiki-vault-rules/SKILL.md +0 -1
- package/agent-assets/system-prompts/routine-fetch-window.md +68 -0
- package/agent-assets/system-prompts/skill-index-instruction.md +26 -0
- package/agent-assets/task-flows/_partials/calendar-acquire.google_calendar.md +18 -11
- package/agent-assets/task-flows/_partials/calendar-acquire.outlook_calendar.md +16 -9
- package/agent-assets/task-flows/_partials/capture-user-info.md +24 -0
- package/agent-assets/task-flows/_partials/confirm-subflow.md +68 -0
- package/agent-assets/task-flows/_partials/dm-intent.long-horizon.md +35 -0
- package/agent-assets/task-flows/_partials/dm-intent.project.md +391 -0
- package/agent-assets/task-flows/_partials/mail-acquire.gmail.md +20 -11
- package/agent-assets/task-flows/_partials/mail-acquire.outlook_mail.md +17 -9
- package/agent-assets/task-flows/_partials/notion-acquire.notion.md +18 -12
- package/agent-assets/task-flows/knowledge.import.md +1 -1
- package/agent-assets/task-flows/message.received.dm.md +13 -15
- package/agent-assets/task-flows/message.received.dm_first.md +10 -14
- package/agent-assets/task-flows/routine.custom.md +3 -1
- package/agent-assets/task-flows/routine.evening_review.md +39 -163
- package/agent-assets/task-flows/routine.fetch_window.md +17 -12
- package/agent-assets/task-flows/routine.hourly_check.md +16 -8
- package/agent-assets/task-flows/routine.hourly_check.triage.md +1 -1
- package/agent-assets/task-flows/routine.monthly_review.md +46 -4
- package/agent-assets/task-flows/routine.morning_routine_journal.md +113 -0
- package/agent-assets/task-flows/routine.morning_routine_today.md +673 -0
- package/agent-assets/task-flows/routine.roadmap_refresh.md +60 -15
- package/agent-assets/task-flows/routine.user_profile_sweep.md +9 -10
- package/agent-assets/task-flows/routine.weekly_review.md +285 -70
- package/agent-assets/task-flows/scheduled.dm.md +8 -8
- package/agent-assets/task-flows/scheduled.task.md +5 -5
- package/agent-assets/task-flows/setup.initial.md +165 -245
- package/agent-assets/task-flows/wiki.ingest_url.md +1 -1
- package/agent-assets/templates/_manifest.json +7 -7
- package/agent-assets/templates/dossiers/_index.md +1 -1
- package/agent-assets/templates/rules/journal-format.md +145 -38
- package/agent-assets/templates/user/expertise.md +4 -2
- package/agent-assets/templates/user/goals.md +4 -2
- package/agent-assets/templates/user/people.md +8 -2
- package/agent-assets/templates/user/personal.md +4 -2
- package/agent-assets/templates/user/work.md +4 -2
- package/bin/aitne.mjs +8 -1
- package/package.json +4 -4
- package/scripts/commands/doctor.mjs +52 -0
- package/scripts/commands/run-now.mjs +202 -0
- package/scripts/commands/verify.mjs +264 -0
- package/agent-assets/docs/features/routines/monthly-review.md +0 -65
- package/agent-assets/skills/management-task-modify/SKILL.md +0 -203
- package/agent-assets/skills/management-task-register/SKILL.md +0 -330
- package/agent-assets/skills/management-task-stop/SKILL.md +0 -166
- package/agent-assets/skills/receipts/SKILL.md +0 -134
- package/agent-assets/skills/travel/SKILL.md +0 -132
- package/agent-assets/skills/travel-time/SKILL.md +0 -158
- package/agent-assets/task-flows/routine.morning_routine.md +0 -322
- package/agent-assets/task-flows/routine.morning_routine_initial.md +0 -204
|
@@ -3,6 +3,11 @@ schema_version: 1
|
|
|
3
3
|
slug: features/messaging/slack
|
|
4
4
|
title: Slack
|
|
5
5
|
id: slack
|
|
6
|
+
aliases:
|
|
7
|
+
- slack bot
|
|
8
|
+
- slack adapter
|
|
9
|
+
- slack pairing
|
|
10
|
+
- slack DM
|
|
6
11
|
category: features
|
|
7
12
|
summary: |
|
|
8
13
|
Pair a Slack workspace by installing a bot user, pasting tokens
|
|
@@ -10,7 +15,8 @@ summary: |
|
|
|
10
15
|
section: messaging
|
|
11
16
|
tags:
|
|
12
17
|
- messaging
|
|
13
|
-
-
|
|
18
|
+
- integrations
|
|
19
|
+
- slack
|
|
14
20
|
status: stable
|
|
15
21
|
ask_examples:
|
|
16
22
|
- How do I pair Slack?
|
|
@@ -18,6 +24,12 @@ ask_examples:
|
|
|
18
24
|
locale: en-US
|
|
19
25
|
created: 2026-04-25
|
|
20
26
|
updated: 2026-04-25
|
|
27
|
+
keywords:
|
|
28
|
+
- slack
|
|
29
|
+
- OAuth
|
|
30
|
+
- bot token
|
|
31
|
+
- owner channel
|
|
32
|
+
- messaging adapter
|
|
21
33
|
related:
|
|
22
34
|
- features/messaging/overview
|
|
23
35
|
- features/messaging/pairing-and-magic-phrase
|
|
@@ -12,7 +12,7 @@ summary: |
|
|
|
12
12
|
section: messaging
|
|
13
13
|
tags:
|
|
14
14
|
- messaging
|
|
15
|
-
-
|
|
15
|
+
- integrations
|
|
16
16
|
- core
|
|
17
17
|
status: stable
|
|
18
18
|
ask_examples:
|
|
@@ -21,6 +21,12 @@ ask_examples:
|
|
|
21
21
|
locale: en-US
|
|
22
22
|
created: 2026-04-25
|
|
23
23
|
updated: 2026-04-25
|
|
24
|
+
keywords:
|
|
25
|
+
- telegram
|
|
26
|
+
- telegram bot
|
|
27
|
+
- bot token
|
|
28
|
+
- telegram pairing
|
|
29
|
+
- messaging adapter
|
|
24
30
|
related:
|
|
25
31
|
- features/messaging/pairing-and-magic-phrase
|
|
26
32
|
- features/messaging/overview
|
|
@@ -3,6 +3,10 @@ schema_version: 1
|
|
|
3
3
|
slug: features/messaging/whatsapp
|
|
4
4
|
title: WhatsApp
|
|
5
5
|
id: whatsapp
|
|
6
|
+
aliases:
|
|
7
|
+
- whatsapp bot
|
|
8
|
+
- whatsapp adapter
|
|
9
|
+
- whatsapp pairing
|
|
6
10
|
category: features
|
|
7
11
|
summary: |
|
|
8
12
|
Pair WhatsApp via the Cloud API or a bridge service. Once paired, DMs
|
|
@@ -10,7 +14,8 @@ summary: |
|
|
|
10
14
|
section: messaging
|
|
11
15
|
tags:
|
|
12
16
|
- messaging
|
|
13
|
-
-
|
|
17
|
+
- integrations
|
|
18
|
+
- whatsapp
|
|
14
19
|
status: stable
|
|
15
20
|
ask_examples:
|
|
16
21
|
- Can I use WhatsApp with Aitne?
|
|
@@ -18,6 +23,12 @@ ask_examples:
|
|
|
18
23
|
locale: en-US
|
|
19
24
|
created: 2026-04-25
|
|
20
25
|
updated: 2026-04-25
|
|
26
|
+
keywords:
|
|
27
|
+
- whatsapp
|
|
28
|
+
- twilio
|
|
29
|
+
- bot token
|
|
30
|
+
- owner channel
|
|
31
|
+
- messaging adapter
|
|
21
32
|
related:
|
|
22
33
|
- features/messaging/overview
|
|
23
34
|
---
|
|
@@ -54,7 +54,7 @@ detail lives one click deeper under Conversations.
|
|
|
54
54
|
|
|
55
55
|
Activity is the unified view of:
|
|
56
56
|
|
|
57
|
-
- **Routines**: morning, evening, weekly,
|
|
57
|
+
- **Routines**: morning, evening, weekly, hourly fires.
|
|
58
58
|
- **Reactive sessions**: DMs, dashboard chat, mentions.
|
|
59
59
|
- **Background actions**: notifications sent, mail labeled, schedule
|
|
60
60
|
files written.
|
|
@@ -86,7 +86,7 @@ written to as a side-effect of every other event in the system
|
|
|
86
86
|
There is nothing to configure on the Activity view itself; what shows
|
|
87
87
|
up is a function of which routines are enabled and which integrations
|
|
88
88
|
are connected. Retention is unlimited locally — the SQLite database
|
|
89
|
-
keeps everything until you `
|
|
89
|
+
keeps everything until you `aitne stop && rm ~/.personal-agent/data/personal_agent.db*` (the `*` also clears the `-shm`/`-wal` companions).
|
|
90
90
|
|
|
91
91
|
## When Something Goes Wrong
|
|
92
92
|
|
|
@@ -23,6 +23,12 @@ ask_examples:
|
|
|
23
23
|
locale: en-US
|
|
24
24
|
created: 2026-04-25
|
|
25
25
|
updated: 2026-04-25
|
|
26
|
+
keywords:
|
|
27
|
+
- approval
|
|
28
|
+
- approve tier
|
|
29
|
+
- /dashboard/approvals
|
|
30
|
+
- agent approval queue
|
|
31
|
+
- approve before action
|
|
26
32
|
related:
|
|
27
33
|
- concepts/safety-and-execution
|
|
28
34
|
- features/operations/notifications
|
|
@@ -25,6 +25,13 @@ ask_examples:
|
|
|
25
25
|
locale: en-US
|
|
26
26
|
created: 2026-04-25
|
|
27
27
|
updated: 2026-04-25
|
|
28
|
+
keywords:
|
|
29
|
+
- backend routing
|
|
30
|
+
- BackendRouter
|
|
31
|
+
- fallback
|
|
32
|
+
- main fallback
|
|
33
|
+
- BackendQuotaError
|
|
34
|
+
- BackendDecisiveFailure
|
|
28
35
|
related:
|
|
29
36
|
- concepts/backends-and-tiers
|
|
30
37
|
- features/operations/cost-tracking
|
|
@@ -24,6 +24,12 @@ ask_examples:
|
|
|
24
24
|
locale: en-US
|
|
25
25
|
created: 2026-04-25
|
|
26
26
|
updated: 2026-04-25
|
|
27
|
+
keywords:
|
|
28
|
+
- notification
|
|
29
|
+
- notify
|
|
30
|
+
- quiet hours
|
|
31
|
+
- rate limit
|
|
32
|
+
- notification batch
|
|
27
33
|
related:
|
|
28
34
|
- features/operations/quiet-hours
|
|
29
35
|
- features/operations/approvals
|
|
@@ -9,7 +9,8 @@ aliases:
|
|
|
9
9
|
category: features
|
|
10
10
|
summary: |
|
|
11
11
|
Lightweight pre-event nudges fire when a calendar event is close
|
|
12
|
-
enough to remind the operator about. The lead time is
|
|
12
|
+
enough to remind the operator about. The 15-minute lead time is
|
|
13
|
+
fixed in code today.
|
|
13
14
|
section: operations
|
|
14
15
|
tags:
|
|
15
16
|
- operations
|
|
@@ -18,10 +19,15 @@ tags:
|
|
|
18
19
|
status: stable
|
|
19
20
|
ask_examples:
|
|
20
21
|
- How does the agent remind me about meetings?
|
|
21
|
-
-
|
|
22
|
+
- What is the pre-event reminder lead time?
|
|
22
23
|
locale: en-US
|
|
23
24
|
created: 2026-04-25
|
|
24
25
|
updated: 2026-04-25
|
|
26
|
+
keywords:
|
|
27
|
+
- schedule approaching
|
|
28
|
+
- pre-event reminder
|
|
29
|
+
- departure time
|
|
30
|
+
- ETA reminder
|
|
25
31
|
related:
|
|
26
32
|
- features/integrations/calendar
|
|
27
33
|
- features/operations/notifications
|
|
@@ -31,29 +37,36 @@ related:
|
|
|
31
37
|
|
|
32
38
|
## In One Sentence
|
|
33
39
|
|
|
34
|
-
Pre-event reminders fire
|
|
35
|
-
calendar event.
|
|
40
|
+
Pre-event reminders fire 15 minutes before each calendar event.
|
|
36
41
|
|
|
37
42
|
## What It Does
|
|
38
43
|
|
|
39
44
|
- Watches the calendar event queue.
|
|
40
|
-
- Fires a notification
|
|
45
|
+
- Fires a notification ~15 minutes before each event (fixed in
|
|
46
|
+
`imminent-event-scheduler.ts`; not currently a config key).
|
|
41
47
|
- Optionally includes the travel-time estimate when the event has
|
|
42
48
|
a location and the travel-time skill is enabled.
|
|
49
|
+
- Deduplicates via the `imminent_event_notifications` table so the
|
|
50
|
+
same event never fires twice across reschedules / poll cycles.
|
|
43
51
|
|
|
44
52
|
## When It Runs / How It Is Triggered
|
|
45
53
|
|
|
46
|
-
The scheduler keeps a sorted view of upcoming events
|
|
47
|
-
|
|
54
|
+
The scheduler keeps a sorted view of upcoming events from the
|
|
55
|
+
`integration_snapshots` table and emits one `schedule.approaching`
|
|
56
|
+
event per item via the EventBus when the event is ≤ 15 minutes away.
|
|
48
57
|
|
|
49
58
|
## Where in the Dashboard
|
|
50
59
|
|
|
51
|
-
-
|
|
60
|
+
- Reminders surface on the connected messaging app and in the
|
|
61
|
+
Activity feed. There is no dashboard setting for lead time today.
|
|
52
62
|
|
|
53
63
|
## When Something Goes Wrong
|
|
54
64
|
|
|
55
65
|
- A reminder you expected: confirm the calendar integration is
|
|
56
|
-
reading the right calendar (some operators have multiple)
|
|
66
|
+
reading the right calendar (some operators have multiple), and
|
|
67
|
+
that the calendar is running in `direct` mode — in `delegated` /
|
|
68
|
+
`native` / `disabled` modes the daemon does not emit approaching
|
|
69
|
+
reminders.
|
|
57
70
|
|
|
58
71
|
## Related
|
|
59
72
|
|
|
@@ -9,12 +9,12 @@ aliases:
|
|
|
9
9
|
- user routine
|
|
10
10
|
category: features
|
|
11
11
|
summary: |
|
|
12
|
-
Beyond the built-in morning / evening / weekly /
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
Beyond the built-in morning / evening / weekly / hourly routines,
|
|
13
|
+
the operator can define custom routines that fire on any cron
|
|
14
|
+
schedule.
|
|
15
15
|
section: routines
|
|
16
16
|
tags:
|
|
17
|
-
-
|
|
17
|
+
- routines
|
|
18
18
|
- autonomous
|
|
19
19
|
- advanced
|
|
20
20
|
status: stable
|
|
@@ -25,6 +25,12 @@ ask_examples:
|
|
|
25
25
|
locale: en-US
|
|
26
26
|
created: 2026-04-25
|
|
27
27
|
updated: 2026-04-25
|
|
28
|
+
keywords:
|
|
29
|
+
- custom routine
|
|
30
|
+
- routine.custom.<slug>
|
|
31
|
+
- user-defined routine
|
|
32
|
+
- scheduled task
|
|
33
|
+
- recurring schedule
|
|
28
34
|
related:
|
|
29
35
|
- guides/add-a-custom-routine
|
|
30
36
|
- concepts/routines
|
|
@@ -14,10 +14,9 @@ summary: |
|
|
|
14
14
|
morning hour to produce today.md and the day's plan.
|
|
15
15
|
section: routines
|
|
16
16
|
tags:
|
|
17
|
-
-
|
|
17
|
+
- routines
|
|
18
18
|
- autonomous
|
|
19
19
|
- daily
|
|
20
|
-
- heavy-tier
|
|
21
20
|
- core
|
|
22
21
|
status: stable
|
|
23
22
|
ask_examples:
|
|
@@ -27,7 +26,7 @@ ask_examples:
|
|
|
27
26
|
- What model does morning routine use?
|
|
28
27
|
locale: en-US
|
|
29
28
|
created: 2026-04-25
|
|
30
|
-
updated: 2026-
|
|
29
|
+
updated: 2026-05-17
|
|
31
30
|
keywords:
|
|
32
31
|
- morning
|
|
33
32
|
- day plan
|
|
@@ -43,7 +42,8 @@ ui_anchors:
|
|
|
43
42
|
- /
|
|
44
43
|
process_keys:
|
|
45
44
|
- routine.morning_routine
|
|
46
|
-
- routine.
|
|
45
|
+
- routine.morning_routine_today
|
|
46
|
+
- routine.morning_routine_journal
|
|
47
47
|
config_keys:
|
|
48
48
|
- dayBoundaryHour
|
|
49
49
|
context_files:
|
|
@@ -62,10 +62,14 @@ roadmap, and recent observations.
|
|
|
62
62
|
## What It Does
|
|
63
63
|
|
|
64
64
|
The morning routine is the single highest-value process in Aitne.
|
|
65
|
-
It runs
|
|
66
|
-
|
|
67
|
-
the
|
|
68
|
-
the
|
|
65
|
+
It runs as a **two-stage pipeline** — Stage A (`routine.morning_routine_today`)
|
|
66
|
+
on the medium tier rebuilds `today.md`, walks the roadmap, fans out
|
|
67
|
+
the day's schedule, and self-reports structured metadata; Stage B
|
|
68
|
+
(`routine.morning_routine_journal`) on the lite tier authors
|
|
69
|
+
`daily/<yesterday>.md` in parallel from a daemon-prepared skeleton.
|
|
70
|
+
Every downstream routine for the next 24 hours reads Stage A's
|
|
71
|
+
output, so a bad morning briefing still degrades the entire day —
|
|
72
|
+
hence the medium-tier ceiling on Stage A even after the split.
|
|
69
73
|
|
|
70
74
|
In sequence, the routine:
|
|
71
75
|
|
|
@@ -85,9 +89,13 @@ so a post-midnight install does not run two morning routines back-to-back.
|
|
|
85
89
|
There is no separate `morningRoutineHour` — the morning routine and the
|
|
86
90
|
agent-day rollover are the same instant.
|
|
87
91
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
92
|
+
There is no separate "initial" process key. The first morning after
|
|
93
|
+
setup is detected inline by Stage A from the absence of `yesterday.md`;
|
|
94
|
+
the daemon injects a `<roadmap_skeleton>` block carrying the pre-aggregated
|
|
95
|
+
Annual Goals / Quarterly Focus / Preparation Timeline facts so Stage A
|
|
96
|
+
can populate the wizard's placeholder roadmap on medium tier instead of
|
|
97
|
+
paying for a one-shot heavy session. (Pre-Phase 7, this branch dispatched
|
|
98
|
+
under `routine.morning_routine_initial` on the heavy tier.)
|
|
91
99
|
|
|
92
100
|
## What It Outputs
|
|
93
101
|
|
|
@@ -107,15 +115,16 @@ during the setup wizard's first day. After the first run, only
|
|
|
107
115
|
| Setting | Default | Notes |
|
|
108
116
|
|---|---|---|
|
|
109
117
|
| `dayBoundaryHour` | `4` | Both the agent-day boundary and the morning-routine fire time. See [Agent Day](../../concepts/agent-day.md). |
|
|
110
|
-
|
|
|
111
|
-
|
|
|
112
|
-
| Max
|
|
118
|
+
| Stage A tier (`routine.morning_routine_today`) | medium (Sonnet 4.6) | Synthesises `today.md` + the day's roadmap fan-out. Adjustable per-row in Settings → Models. |
|
|
119
|
+
| Stage B tier (`routine.morning_routine_journal`) | lite (Haiku 4.5) | Appends yesterday's entry to `agent-journal.md`. |
|
|
120
|
+
| Max turns | 50 | Stage A default. Adjustable per-process in Settings → Models. |
|
|
121
|
+
| Max budget USD | 2.00 (Stage A: 0.50, Stage B: 0.10) | Per-execute envelope cap. The router enforces this before token costs accumulate. |
|
|
113
122
|
|
|
114
123
|
## When Something Goes Wrong
|
|
115
124
|
|
|
116
125
|
- The most common failure is **morning routine did not run** because the daemon was offline at the trigger window. The next launch picks the run up via the catch-up scheduler if it is still the same agent day.
|
|
117
126
|
- A failed morning routine emits a fallback-success notification when the secondary backend caught the run, or a fallback-failed notification (high priority) when both failed.
|
|
118
|
-
-
|
|
127
|
+
- Backend quota exhaustion is the second most common cause: a provider rate limit on your `ANTHROPIC_API_KEY`, or — when running on the subscription fallback — the rolling window of the underlying Claude plan. Switch the routine's model in Settings → Models (or wait for the provider window to refresh); if a fallback backend is configured, the router will automatically retry there first.
|
|
119
128
|
|
|
120
129
|
## Related
|
|
121
130
|
|
|
@@ -13,7 +13,7 @@ summary: |
|
|
|
13
13
|
weekly retro into the weekly/ directory.
|
|
14
14
|
section: routines
|
|
15
15
|
tags:
|
|
16
|
-
-
|
|
16
|
+
- routines
|
|
17
17
|
- autonomous
|
|
18
18
|
- light-tier
|
|
19
19
|
status: stable
|
|
@@ -24,6 +24,11 @@ ask_examples:
|
|
|
24
24
|
locale: en-US
|
|
25
25
|
created: 2026-04-25
|
|
26
26
|
updated: 2026-04-25
|
|
27
|
+
keywords:
|
|
28
|
+
- weekly review
|
|
29
|
+
- Friday review
|
|
30
|
+
- week roll-up
|
|
31
|
+
- agent week
|
|
27
32
|
related:
|
|
28
33
|
- concepts/routines
|
|
29
34
|
- features/memory-files/agent-journal
|
|
@@ -36,22 +41,39 @@ process_keys:
|
|
|
36
41
|
## In One Sentence
|
|
37
42
|
|
|
38
43
|
A light-tier weekly retro fires once per week and writes a synthesis
|
|
39
|
-
into `weekly
|
|
44
|
+
into `weekly/YYYY-Www.md` (ISO week), whose **Carry Over / Next Week
|
|
45
|
+
Focus / Lessons** sections are then lifted into every morning routine
|
|
46
|
+
of the following ISO week.
|
|
40
47
|
|
|
41
48
|
## What It Does
|
|
42
49
|
|
|
43
|
-
- Reads
|
|
44
|
-
|
|
45
|
-
-
|
|
50
|
+
- Reads daily files for the current ISO week, the past-7-day calendar
|
|
51
|
+
retrospective, roadmap, and active projects.
|
|
52
|
+
- Synthesizes three axes — Outcomes, Forward items, Behavioral
|
|
53
|
+
Lessons — and writes the user-facing snapshot.
|
|
54
|
+
- Appends an agent-internal block to `agent/journal.md` for self-
|
|
55
|
+
critique, filter quality, and improvement ideas.
|
|
56
|
+
- Sends a brief Friday-evening notification by default (silence gate
|
|
57
|
+
triggers only on an essentially blank week).
|
|
58
|
+
- Refreshes `user/reading-taste.md` and Book Candidates when enough
|
|
59
|
+
new highlights have accumulated.
|
|
46
60
|
|
|
47
61
|
## When It Runs / How It Is Triggered
|
|
48
62
|
|
|
49
|
-
Every **Friday at
|
|
50
|
-
`packages/daemon/src/core/scheduler.ts` and is
|
|
63
|
+
Every **Friday at 19:00 local time** (one hour after `evening_review`).
|
|
64
|
+
The schedule is fixed in `packages/daemon/src/core/scheduler.ts` and is
|
|
65
|
+
not operator-configurable. If the Friday fire misses (daemon outage),
|
|
66
|
+
the **Fri / Sat / Sun catch-up window** in `schedule-helpers.ts` fires
|
|
67
|
+
the retro when the daemon recovers, before the new ISO week begins —
|
|
68
|
+
a Mon–Thu catch-up is intentionally out of scope so the next week's
|
|
69
|
+
`<previous_week>` injection stays stable Mon–Sun.
|
|
51
70
|
|
|
52
71
|
## What It Outputs
|
|
53
72
|
|
|
54
|
-
- One file per week under `~/.personal-agent/context/weekly
|
|
73
|
+
- One file per week under `~/.personal-agent/context/weekly/YYYY-Www.md`
|
|
74
|
+
(zero-padded ISO week, e.g. `2026-W19.md`).
|
|
75
|
+
- A `## Weekly YYYY-Www` block appended to
|
|
76
|
+
`~/.personal-agent/context/agent/journal.md`.
|
|
55
77
|
|
|
56
78
|
## Configuration
|
|
57
79
|
|
|
@@ -60,11 +82,15 @@ and tier are fixed in code.
|
|
|
60
82
|
|
|
61
83
|
## When Something Goes Wrong
|
|
62
84
|
|
|
63
|
-
- The retro **doesn't fire**: catch-up
|
|
64
|
-
|
|
65
|
-
|
|
85
|
+
- The retro **doesn't fire on Friday**: the Fri–Sun catch-up window
|
|
86
|
+
retries on Saturday and Sunday agent-days. A full Fri–Sun outage
|
|
87
|
+
results in a missing weekly file; the next week's morning routines
|
|
88
|
+
proceed without the `<previous_week>` block.
|
|
89
|
+
- The retro **runs but the file is empty** (silence gate): legitimate
|
|
90
|
+
for a blank week — the file is still written with empty sections,
|
|
91
|
+
and the next week's morning routine sees `(none recorded)` sub-
|
|
92
|
+
blocks, which is the deliberate downstream signal.
|
|
66
93
|
|
|
67
94
|
## Related
|
|
68
95
|
|
|
69
96
|
- [Evening Review](evening-review.md)
|
|
70
|
-
- [Monthly Review](monthly-review.md)
|
|
@@ -22,6 +22,7 @@ section: wiki
|
|
|
22
22
|
tags:
|
|
23
23
|
- wiki
|
|
24
24
|
- bang-commands
|
|
25
|
+
- core
|
|
25
26
|
status: stable
|
|
26
27
|
ask_examples:
|
|
27
28
|
- How do I send a URL to the wiki?
|
|
@@ -34,6 +35,16 @@ ask_examples:
|
|
|
34
35
|
locale: en-US
|
|
35
36
|
created: 2026-05-12
|
|
36
37
|
updated: 2026-05-12
|
|
38
|
+
keywords:
|
|
39
|
+
- !ingest
|
|
40
|
+
- !compile
|
|
41
|
+
- !ask
|
|
42
|
+
- !lint
|
|
43
|
+
- !trace
|
|
44
|
+
- !connect
|
|
45
|
+
- !wiki
|
|
46
|
+
- bang commands
|
|
47
|
+
- wiki commands
|
|
37
48
|
related:
|
|
38
49
|
- features/wiki/overview
|
|
39
50
|
- features/messaging/bang-commands
|
|
@@ -17,6 +17,7 @@ section: wiki
|
|
|
17
17
|
tags:
|
|
18
18
|
- wiki
|
|
19
19
|
- knowledge
|
|
20
|
+
- core
|
|
20
21
|
status: stable
|
|
21
22
|
ask_examples:
|
|
22
23
|
- What is the wiki?
|
|
@@ -25,10 +26,19 @@ ask_examples:
|
|
|
25
26
|
- Can I point the wiki at my Obsidian vault?
|
|
26
27
|
locale: en-US
|
|
27
28
|
created: 2026-05-12
|
|
28
|
-
updated: 2026-05-
|
|
29
|
+
updated: 2026-05-17
|
|
30
|
+
keywords:
|
|
31
|
+
- wiki
|
|
32
|
+
- wiki workspace
|
|
33
|
+
- 00_inbox
|
|
34
|
+
- 10_raw
|
|
35
|
+
- 20_wiki
|
|
36
|
+
- 30_outputs
|
|
37
|
+
- wiki layers
|
|
38
|
+
- external vault
|
|
29
39
|
related:
|
|
30
40
|
- features/wiki/commands
|
|
31
|
-
-
|
|
41
|
+
- concepts/memory-model
|
|
32
42
|
- guides/build-your-wiki
|
|
33
43
|
- guides/use-an-existing-obsidian-vault
|
|
34
44
|
- guides/budget-and-cost-for-wiki
|
|
@@ -113,7 +123,7 @@ commit or stash first.
|
|
|
113
123
|
The wiki has two distinct surfaces in the dashboard. The split mirrors
|
|
114
124
|
how Aitne organises the rest of the app — configuration lives under
|
|
115
125
|
**Setup → Settings**, day-to-day content browsing lives under **My
|
|
116
|
-
Life** next to Knowledge / Reading / Git
|
|
126
|
+
Life** next to Knowledge / Reading / Git.
|
|
117
127
|
|
|
118
128
|
| Page | Section | Use it for |
|
|
119
129
|
|---|---|---|
|
|
@@ -3,6 +3,12 @@ schema_version: 1
|
|
|
3
3
|
slug: getting-started/01-what-is-this
|
|
4
4
|
title: What is Aitne?
|
|
5
5
|
id: what-is-this
|
|
6
|
+
aliases:
|
|
7
|
+
- aitne
|
|
8
|
+
- what is aitne
|
|
9
|
+
- what is this
|
|
10
|
+
- introduction
|
|
11
|
+
- personal AI agent
|
|
6
12
|
category: getting-started
|
|
7
13
|
summary: |
|
|
8
14
|
Aitne is a local-first proactive personal AI agent. It runs
|
|
@@ -13,15 +19,26 @@ section: getting-started
|
|
|
13
19
|
tags:
|
|
14
20
|
- core
|
|
15
21
|
- getting-started
|
|
22
|
+
- overview
|
|
16
23
|
status: stable
|
|
17
24
|
ask_examples:
|
|
18
25
|
- What is Aitne?
|
|
19
26
|
- How is this different from ChatGPT?
|
|
20
27
|
- Where does my data live?
|
|
21
28
|
- What can Aitne actually do for me?
|
|
29
|
+
- Which backends can Aitne drive?
|
|
22
30
|
locale: en-US
|
|
31
|
+
keywords:
|
|
32
|
+
- introduction
|
|
33
|
+
- overview
|
|
34
|
+
- what is aitne
|
|
35
|
+
- personal agent
|
|
36
|
+
- local-first
|
|
37
|
+
- proactive
|
|
38
|
+
- markdown memory
|
|
39
|
+
- backends
|
|
23
40
|
created: 2026-04-25
|
|
24
|
-
updated: 2026-
|
|
41
|
+
updated: 2026-05-15
|
|
25
42
|
related:
|
|
26
43
|
- getting-started/02-first-steps
|
|
27
44
|
- getting-started/03-what-can-this-do
|
|
@@ -33,10 +50,11 @@ related:
|
|
|
33
50
|
# What is Aitne?
|
|
34
51
|
|
|
35
52
|
Aitne is a local-first personal AI agent. It runs as a long-running
|
|
36
|
-
daemon on your own machine, drives Claude Code, Codex CLI,
|
|
37
|
-
CLI via provider API keys
|
|
38
|
-
|
|
39
|
-
plain Markdown files under
|
|
53
|
+
daemon on your own machine, drives Claude Code, Codex CLI, Gemini
|
|
54
|
+
CLI, or OpenCode (`@opencode-ai/sdk` server) via provider API keys
|
|
55
|
+
you register (with the CLI's local subscription login as a
|
|
56
|
+
fallback), and keeps all of its memory as plain Markdown files under
|
|
57
|
+
`~/.personal-agent/`.
|
|
40
58
|
|
|
41
59
|
Unlike a chat assistant that only responds when you type, Aitne also
|
|
42
60
|
runs on its own — on a schedule, in reaction to changes it sees in
|
|
@@ -130,17 +148,20 @@ an opaque vector store.
|
|
|
130
148
|
|
|
131
149
|
→ [Memory Model](../concepts/memory-model.md)
|
|
132
150
|
|
|
133
|
-
### Drive Claude Code / Codex / Gemini via API keys
|
|
151
|
+
### Drive Claude Code / Codex / Gemini / OpenCode via API keys
|
|
134
152
|
|
|
135
|
-
Aitne drives Claude Code, Codex CLI,
|
|
136
|
-
The recommended setup is to register a provider API key
|
|
137
|
-
backend you want to use — this matches what Anthropic,
|
|
138
|
-
Google document for headless / programmatic agent use,
|
|
139
|
-
predictable per-call billing that is unambiguously
|
|
153
|
+
Aitne drives Claude Code, Codex CLI, Gemini CLI, and OpenCode on
|
|
154
|
+
your behalf. The recommended setup is to register a provider API key
|
|
155
|
+
for each backend you want to use — this matches what Anthropic,
|
|
156
|
+
OpenAI, and Google document for headless / programmatic agent use,
|
|
157
|
+
and gives you predictable per-call billing that is unambiguously
|
|
158
|
+
permitted.
|
|
140
159
|
|
|
141
160
|
- Claude — `ANTHROPIC_API_KEY` (via Claude Code)
|
|
142
161
|
- Codex — `OPENAI_API_KEY` (via Codex CLI)
|
|
143
162
|
- Gemini — `GEMINI_API_KEY` / `GOOGLE_API_KEY` (via Gemini CLI)
|
|
163
|
+
- OpenCode — provider key (Anthropic / OpenAI / OpenRouter / …)
|
|
164
|
+
forwarded into the OpenCode server in Managed or Remote mode
|
|
144
165
|
|
|
145
166
|
If you skip the API key, Aitne falls back to whatever local
|
|
146
167
|
subscription login the CLI already has on your machine (`claude`,
|
|
@@ -3,6 +3,11 @@ schema_version: 1
|
|
|
3
3
|
slug: getting-started/02-first-steps
|
|
4
4
|
title: First Steps in the Dashboard
|
|
5
5
|
id: first-steps
|
|
6
|
+
aliases:
|
|
7
|
+
- first steps
|
|
8
|
+
- first time
|
|
9
|
+
- dashboard onboarding
|
|
10
|
+
- after install
|
|
6
11
|
category: getting-started
|
|
7
12
|
summary: |
|
|
8
13
|
What to do the moment the dashboard opens — finish the setup wizard,
|
|
@@ -11,20 +16,27 @@ section: getting-started
|
|
|
11
16
|
tags:
|
|
12
17
|
- core
|
|
13
18
|
- getting-started
|
|
19
|
+
- setup
|
|
14
20
|
status: stable
|
|
15
21
|
ask_examples:
|
|
16
22
|
- I just opened the dashboard. What now?
|
|
17
23
|
- How do I get the agent to talk to me?
|
|
18
24
|
- Do I have to connect every integration?
|
|
25
|
+
- Where is the setup wizard?
|
|
19
26
|
locale: en-US
|
|
27
|
+
keywords:
|
|
28
|
+
- first steps
|
|
29
|
+
- setup wizard
|
|
30
|
+
- pair messaging
|
|
31
|
+
- dashboard onboarding
|
|
32
|
+
- health pill
|
|
20
33
|
created: 2026-04-27
|
|
21
|
-
updated: 2026-05-
|
|
34
|
+
updated: 2026-05-15
|
|
22
35
|
related:
|
|
23
36
|
- getting-started/01-what-is-this
|
|
24
37
|
- getting-started/03-what-can-this-do
|
|
25
38
|
- getting-started/04-first-day
|
|
26
39
|
- guides/setup-wizard
|
|
27
|
-
- guides/use-cloud-providers
|
|
28
40
|
---
|
|
29
41
|
|
|
30
42
|
# First Steps in the Dashboard
|
|
@@ -59,8 +71,9 @@ in (a backend, a messaging pair). Run through it once, top to bottom.
|
|
|
59
71
|
because most providers do not support running agents on a
|
|
60
72
|
personal subscription. The same picker also lets you point the
|
|
61
73
|
backend at a cloud provider (Bedrock / Vertex / Foundry / Azure
|
|
62
|
-
OpenAI / Gemini-Vertex) instead of the direct API key —
|
|
63
|
-
|
|
74
|
+
OpenAI / Gemini-Vertex) instead of the direct API key — the
|
|
75
|
+
provider dropdown on `/settings/models` is the single surface for
|
|
76
|
+
both direct keys and cloud-provider credentials.
|
|
64
77
|
Defaults are sensible and can be changed later from
|
|
65
78
|
`/settings/models`. Background:
|
|
66
79
|
[Backends and Tiers](../concepts/backends-and-tiers.md).
|