@aitne-sh/aitne 0.1.9 → 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.
- package/README.md +41 -11
- package/agent-assets/agent-profiles/background-task.md +53 -0
- package/agent-assets/agent-profiles/conversational.md +1 -0
- package/agent-assets/agent-profiles/routine-fetch-window.md +14 -75
- package/agent-assets/agent-profiles/routine.md +1 -1
- package/agent-assets/agents/{hourly-check → activity-scan}/agent.md +22 -17
- package/agent-assets/agents/monthly-review/agent.md +6 -5
- package/agent-assets/docs/concepts/agent-day.md +6 -7
- package/agent-assets/docs/concepts/auth-health.md +23 -20
- package/agent-assets/docs/concepts/backends-and-tiers.md +13 -9
- package/agent-assets/docs/concepts/costs-and-quotas.md +14 -12
- package/agent-assets/docs/concepts/delegated-mode.md +18 -17
- package/agent-assets/docs/concepts/memory-model.md +16 -9
- package/agent-assets/docs/concepts/observations.md +24 -20
- package/agent-assets/docs/concepts/process-keys.md +10 -9
- package/agent-assets/docs/concepts/routines.md +34 -31
- package/agent-assets/docs/concepts/safety-and-execution.md +11 -7
- package/agent-assets/docs/concepts/safety-model.md +39 -25
- package/agent-assets/docs/concepts/skills.md +12 -10
- package/agent-assets/docs/features/integrations/browser-history.md +23 -18
- package/agent-assets/docs/features/integrations/calendar.md +28 -17
- package/agent-assets/docs/features/integrations/git.md +13 -11
- package/agent-assets/docs/features/integrations/github.md +22 -14
- package/agent-assets/docs/features/integrations/mail.md +25 -22
- package/agent-assets/docs/features/integrations/notion.md +35 -11
- package/agent-assets/docs/features/integrations/obsidian.md +8 -8
- package/agent-assets/docs/features/lifestyle/git.md +27 -23
- package/agent-assets/docs/features/lifestyle/reading.md +20 -11
- package/agent-assets/docs/features/lifestyle/receipts.md +11 -10
- package/agent-assets/docs/features/lifestyle/travel-bookings.md +4 -3
- package/agent-assets/docs/features/memory-files/agent-journal.md +53 -26
- package/agent-assets/docs/features/memory-files/agent-lessons.md +178 -0
- package/agent-assets/docs/features/memory-files/projects.md +11 -8
- package/agent-assets/docs/features/memory-files/roadmap.md +17 -14
- package/agent-assets/docs/features/memory-files/schedule.md +6 -3
- package/agent-assets/docs/features/memory-files/today.md +10 -7
- package/agent-assets/docs/features/memory-files/user-profile.md +14 -9
- package/agent-assets/docs/features/messaging/bang-commands.md +21 -6
- package/agent-assets/docs/features/messaging/overview.md +17 -14
- package/agent-assets/docs/features/messaging/telegram.md +10 -9
- package/agent-assets/docs/features/operations/activity-and-conversations.md +6 -5
- package/agent-assets/docs/features/operations/approvals.md +6 -5
- package/agent-assets/docs/features/operations/browser-tasks.md +184 -0
- package/agent-assets/docs/features/operations/cost-tracking.md +11 -1
- package/agent-assets/docs/features/operations/managed-chromium.md +4 -2
- package/agent-assets/docs/features/operations/notifications.md +11 -1
- package/agent-assets/docs/features/operations/quiet-hours.md +41 -11
- package/agent-assets/docs/features/operations/schedule-approaching.md +2 -2
- package/agent-assets/docs/features/routines/activity-scan.md +220 -0
- package/agent-assets/docs/features/routines/custom-routines.md +82 -134
- package/agent-assets/docs/features/routines/evening-review.md +23 -13
- package/agent-assets/docs/features/routines/morning-routine.md +7 -5
- package/agent-assets/docs/features/routines/weekly-review.md +24 -3
- package/agent-assets/docs/features/wiki/commands.md +4 -4
- package/agent-assets/docs/features/wiki/cost-and-approval.md +4 -3
- package/agent-assets/docs/features/wiki/dashboard.md +7 -6
- package/agent-assets/docs/features/wiki/overview.md +3 -3
- package/agent-assets/docs/features/wiki/search.md +5 -5
- package/agent-assets/docs/features/wiki/workspaces.md +2 -2
- package/agent-assets/docs/getting-started/01-what-is-this.md +3 -3
- package/agent-assets/docs/getting-started/02-first-steps.md +5 -3
- package/agent-assets/docs/getting-started/04-first-day.md +27 -30
- package/agent-assets/docs/glossary.md +8 -8
- package/agent-assets/docs/guides/add-a-custom-routine.md +122 -68
- package/agent-assets/docs/guides/budget-and-cost-for-wiki.md +2 -2
- package/agent-assets/docs/guides/connect-a-new-mail-account.md +4 -2
- package/agent-assets/docs/guides/explore-with-trace-and-connect.md +5 -4
- package/agent-assets/docs/guides/install-and-run.md +2 -2
- package/agent-assets/docs/guides/maintain-wiki-health.md +2 -2
- package/agent-assets/docs/guides/pause-the-agent.md +27 -21
- package/agent-assets/docs/guides/reinstall-cleanly.md +2 -0
- package/agent-assets/docs/guides/setup-wizard.md +12 -6
- package/agent-assets/docs/guides/use-an-existing-obsidian-vault.md +6 -6
- package/agent-assets/docs/reference/api.md +26 -5
- package/agent-assets/docs/reference/cli-commands.md +3 -3
- package/agent-assets/docs/reference/config.md +51 -24
- package/agent-assets/docs/reference/disallowed-tools.md +6 -4
- package/agent-assets/docs/reference/keyboard-shortcuts.md +2 -2
- package/agent-assets/docs/reference/knowledge-layout.md +25 -12
- package/agent-assets/docs/reference/process-keys.md +9 -9
- package/agent-assets/docs/reference/skills.md +10 -6
- package/agent-assets/docs/troubleshooting/auth-failed.md +9 -8
- package/agent-assets/docs/troubleshooting/dashboard-shows-degraded.md +16 -9
- package/agent-assets/docs/troubleshooting/messaging-not-pairing.md +2 -2
- package/agent-assets/docs/troubleshooting/morning-routine-didnt-run.md +32 -16
- package/agent-assets/docs/troubleshooting/observation-not-detected.md +26 -24
- package/agent-assets/docs/troubleshooting/quota-exhausted.md +7 -6
- package/agent-assets/docs/troubleshooting/wiki-write-failed.md +3 -3
- package/agent-assets/skills/agent-actions/SKILL.md +23 -39
- package/agent-assets/skills/agent-create/SKILL.md +26 -6
- package/agent-assets/skills/attach/SKILL.md +8 -27
- package/agent-assets/skills/background-task/SKILL.md +184 -0
- package/agent-assets/skills/background-task-reply/SKILL.md +100 -0
- package/agent-assets/skills/browser-history/SKILL.md +60 -29
- package/agent-assets/skills/browser-history-respond/SKILL.md +6 -1
- package/agent-assets/skills/browser-task/SKILL.md +33 -31
- package/agent-assets/skills/context/SKILL.md +26 -34
- package/agent-assets/skills/context/curation.json +12 -12
- package/agent-assets/skills/context/references/api.md +22 -20
- package/agent-assets/skills/context/references/required-frontmatter.md +10 -9
- package/agent-assets/skills/context/references/snapshot-files.md +16 -15
- package/agent-assets/skills/context/seeds/file-responsibilities.seed.json +5 -5
- package/agent-assets/skills/context/seeds/frontmatter-requirements.seed.json +3 -3
- package/agent-assets/skills/docs-search/SKILL.md +19 -31
- package/agent-assets/skills/external-services/SKILL.delegated.claude.md +8 -95
- package/agent-assets/skills/external-services/SKILL.delegated.codex.md +8 -94
- package/agent-assets/skills/external-services/SKILL.delegated.gemini.md +8 -94
- package/agent-assets/skills/external-services/SKILL.native.claude.md +15 -9
- package/agent-assets/skills/external-services/SKILL.native.codex.md +11 -5
- package/agent-assets/skills/external-services/SKILL.native.gemini.md +11 -5
- package/agent-assets/skills/external-services/references/exec-errors.md +32 -0
- package/agent-assets/skills/external-services/references/skills-crud.md +5 -5
- package/agent-assets/skills/gmail-lifestyle/SKILL.md +3 -2
- package/agent-assets/skills/gmail-lifestyle/references/receipts-api.md +4 -0
- package/agent-assets/skills/gmail-lifestyle/references/travel-bookings-api.md +9 -0
- package/agent-assets/skills/mail/SKILL.delegated.claude.md +13 -25
- package/agent-assets/skills/mail/SKILL.delegated.codex.md +3 -2
- package/agent-assets/skills/mail/SKILL.delegated.gemini.md +3 -2
- package/agent-assets/skills/mail/SKILL.md +12 -20
- package/agent-assets/skills/mail/SKILL.native.claude.md +24 -16
- package/agent-assets/skills/mail/SKILL.native.codex.md +16 -9
- package/agent-assets/skills/mail/SKILL.native.gemini.md +12 -6
- package/agent-assets/skills/mail/references/api.md +6 -1
- package/agent-assets/skills/mail/references/examples.md +2 -1
- package/agent-assets/skills/managed-tasks/SKILL.md +44 -77
- package/agent-assets/skills/managed-tasks/references/errors.md +25 -14
- package/agent-assets/skills/managed-tasks/references/output-path.md +33 -17
- package/agent-assets/skills/managed-tasks/references/recurrence-rule.md +26 -16
- package/agent-assets/skills/management-policy/SKILL.md +36 -28
- package/agent-assets/skills/management-policy/curation.json +1 -1
- package/agent-assets/skills/management-policy/references/policy-workflow.md +30 -18
- package/agent-assets/skills/notify/SKILL.md +16 -13
- package/agent-assets/skills/notify/references/priority.md +42 -26
- 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 +18 -18
- package/agent-assets/skills/notion/SKILL.native.claude.md +4 -4
- package/agent-assets/skills/notion/SKILL.native.codex.md +3 -3
- package/agent-assets/skills/notion/SKILL.native.gemini.md +3 -3
- package/agent-assets/skills/observations/SKILL.md +9 -24
- package/agent-assets/skills/observations/references/fetch-fallback.md +22 -0
- package/agent-assets/skills/project-doc/SKILL.md +9 -6
- package/agent-assets/skills/project-doc/curation.json +3 -3
- package/agent-assets/skills/project-doc/seeds/project-shape.seed.json +2 -2
- package/agent-assets/skills/project-doc/seeds/slug-grammar.seed.json +3 -3
- package/agent-assets/skills/reading/SKILL.md +8 -42
- package/agent-assets/skills/reading/references/reading-taste.md +5 -5
- package/agent-assets/skills/roadmap/SKILL.md +3 -19
- package/agent-assets/skills/roadmap/references/api.md +23 -8
- package/agent-assets/skills/roadmap/references/horizon-tags.md +11 -0
- package/agent-assets/skills/roadmap/references/migration.md +8 -6
- package/agent-assets/skills/roadmap/references/retention.md +18 -0
- package/agent-assets/skills/schedule/SKILL.md +20 -28
- package/agent-assets/skills/schedule/references/importance.md +23 -0
- package/agent-assets/skills/schedule/references/recurrence-rule.md +26 -16
- package/agent-assets/skills/scheduled-managed-task/SKILL.md +46 -46
- package/agent-assets/skills/today/SKILL.md +38 -81
- package/agent-assets/skills/today/references/agent-plan-lifecycle.md +9 -4
- package/agent-assets/skills/today/references/agent-plan-revision.md +28 -0
- package/agent-assets/skills/today/references/today-skeleton.md +66 -0
- package/agent-assets/skills/today/seeds/agent-notes-flavors.seed.json +1 -1
- package/agent-assets/skills/today/seeds/section-shape.seed.json +6 -6
- package/agent-assets/skills/user-interview/SKILL.md +15 -90
- package/agent-assets/skills/user-interview/references/op-briefing.md +1 -1
- package/agent-assets/skills/user-interview/references/op-dm-handler.md +88 -0
- package/agent-assets/skills/user-interview/references/op-morning.md +2 -2
- package/agent-assets/skills/user-interview/references/sweep-and-fallback.md +1 -1
- package/agent-assets/skills/user-profile/SKILL.md +16 -26
- package/agent-assets/skills/user-profile/curation.json +3 -3
- package/agent-assets/skills/user-profile/references/character-preferences.md +3 -3
- package/agent-assets/skills/wiki/wiki-ask/SKILL.md +1 -1
- package/agent-assets/skills/wiki/wiki-compile/SKILL.md +5 -4
- package/agent-assets/skills/wiki/wiki-connect/SKILL.md +32 -5
- package/agent-assets/skills/wiki/wiki-ingest/SKILL.md +6 -50
- package/agent-assets/skills/wiki/wiki-ingest/references/curl-errors.md +58 -0
- package/agent-assets/skills/wiki/wiki-lint/SKILL.md +20 -14
- package/agent-assets/skills/wiki/wiki-trace/SKILL.md +10 -5
- package/agent-assets/skills/wiki/wiki-vault-rules/SKILL.md +2 -0
- package/agent-assets/system-prompts/routine-research-cluster-update.md +71 -0
- package/agent-assets/task-flows/_partials/feedback-capture.md +30 -0
- package/agent-assets/task-flows/_partials/notion-acquire.notion.md +47 -21
- package/agent-assets/task-flows/background_task.md +81 -0
- package/agent-assets/task-flows/git.local_ahead.stale.md +1 -1
- package/agent-assets/task-flows/git.push.detected.md +1 -1
- package/agent-assets/task-flows/git.tag.created.md +1 -1
- package/agent-assets/task-flows/github.assigned.md +1 -1
- package/agent-assets/task-flows/github.pull_request.review_requested.md +2 -2
- package/agent-assets/task-flows/github.security_alert.md +1 -1
- package/agent-assets/task-flows/message.received.dm.md +11 -3
- package/agent-assets/task-flows/message.received.dm_first.md +8 -2
- package/agent-assets/task-flows/{routine.hourly_check.md → routine.activity_scan.md} +31 -23
- package/agent-assets/task-flows/{routine.hourly_check.triage.md → routine.activity_scan.triage.md} +3 -3
- package/agent-assets/task-flows/routine.evening_review.md +80 -0
- package/agent-assets/task-flows/routine.monthly_review.md +81 -8
- package/agent-assets/task-flows/routine.research_cluster_update.md +33 -19
- package/agent-assets/task-flows/routine.roadmap_refresh.md +2 -2
- package/agent-assets/task-flows/routine.today_refresh.md +1 -1
- package/agent-assets/task-flows/routine.weekly_review.md +124 -4
- package/agent-assets/task-flows/schedule.approaching.md +2 -2
- package/agent-assets/task-flows/scheduled.dm.md +77 -1
- package/agent-assets/task-flows/scheduled.task.md +7 -1
- package/agent-assets/task-flows/wiki.trace.md +1 -1
- package/agent-assets/templates/_manifest.json +2 -2
- package/agent-assets/templates/knowledge/dossiers/_index.md +1 -1
- package/agent-assets/templates/knowledge/dossiers/{hourly.md → activity-scan.md} +1 -1
- package/agent-assets/templates/policies/journal-format.md +1 -1
- package/agent-assets/templates/policies/mcp.md +1 -1
- package/agent-assets/templates/policies/routines/_index.md +1 -1
- package/agent-assets/templates/policies/routines/{hourly.md → activity-scan.md} +5 -5
- package/bin/aitne.mjs +45 -11
- package/package.json +6 -5
- package/scripts/commands/doctor.mjs +11 -2
- package/scripts/lib/process-identity.d.mts +46 -0
- package/scripts/lib/process-identity.mjs +193 -0
- package/scripts/lib/read-api-token.mjs +1 -1
- package/scripts/start.mjs +14 -4
- package/agent-assets/docs/features/routines/hourly-check.md +0 -205
|
@@ -36,14 +36,14 @@ keywords:
|
|
|
36
36
|
- EDITABLE_RUNTIME_KEY_TUPLE
|
|
37
37
|
- RESTART_REQUIRED_KEY_TUPLE
|
|
38
38
|
- dayBoundaryHour
|
|
39
|
-
-
|
|
39
|
+
- activityScanIntervalMinutes
|
|
40
40
|
- quietHoursStart
|
|
41
41
|
- quietHoursEnd
|
|
42
42
|
- executeTimeoutMinutes
|
|
43
43
|
- autonomousDailyCostCapUsd
|
|
44
44
|
- allowedToolsOverride
|
|
45
45
|
- voiceTranscriptionEnabled
|
|
46
|
-
-
|
|
46
|
+
- activityScanPrePassFreshnessMinutes
|
|
47
47
|
- vaultMode
|
|
48
48
|
- PA_DATA_DIR
|
|
49
49
|
- PA_API_PORT
|
|
@@ -52,9 +52,9 @@ config_keys:
|
|
|
52
52
|
- timezone
|
|
53
53
|
- primaryLanguage
|
|
54
54
|
- vaultMode
|
|
55
|
-
-
|
|
56
|
-
-
|
|
57
|
-
-
|
|
55
|
+
- activityScanEnabled
|
|
56
|
+
- activityScanIntervalMinutes
|
|
57
|
+
- activityScanPrePassFreshnessMinutes
|
|
58
58
|
- quietHoursStart
|
|
59
59
|
- quietHoursEnd
|
|
60
60
|
- maxNotificationsPerHour
|
|
@@ -75,10 +75,10 @@ api_endpoints:
|
|
|
75
75
|
- PATCH /api/config
|
|
76
76
|
- POST /api/voice/install
|
|
77
77
|
ui_anchors:
|
|
78
|
-
- /settings/
|
|
78
|
+
- /settings/infrastructure
|
|
79
79
|
- /settings/models
|
|
80
80
|
created: 2026-04-25
|
|
81
|
-
updated: 2026-
|
|
81
|
+
updated: 2026-06-08
|
|
82
82
|
related:
|
|
83
83
|
- reference/api
|
|
84
84
|
- reference/cli-commands
|
|
@@ -93,7 +93,7 @@ The full `AgentConfig` schema lives in
|
|
|
93
93
|
`packages/shared/src/editable-config-keys.ts` govern what is editable
|
|
94
94
|
and when:
|
|
95
95
|
|
|
96
|
-
- **`EDITABLE_RUNTIME_KEY_TUPLE`** — the ~
|
|
96
|
+
- **`EDITABLE_RUNTIME_KEY_TUPLE`** — the ~130 keys mutable at runtime
|
|
97
97
|
via `PATCH /api/config`. Both the daemon and the dashboard import
|
|
98
98
|
from this tuple so the accepted-key set is enforced at compile time
|
|
99
99
|
in both packages.
|
|
@@ -117,7 +117,7 @@ Anything not in those tuples must be set via env or restart.
|
|
|
117
117
|
## Selected Keys
|
|
118
118
|
|
|
119
119
|
A representative slice of `EDITABLE_RUNTIME_KEY_TUPLE` — the full list
|
|
120
|
-
of ~
|
|
120
|
+
of ~130 keys is in `editable-config-keys.ts`. Names below are exact and
|
|
121
121
|
case-sensitive.
|
|
122
122
|
|
|
123
123
|
### Identity and timezone
|
|
@@ -125,25 +125,32 @@ case-sensitive.
|
|
|
125
125
|
| Key | Type | Notes |
|
|
126
126
|
|---|---|---|
|
|
127
127
|
| `agentDisplayName` | string | What the agent calls itself in DMs. |
|
|
128
|
-
| `character` | string |
|
|
128
|
+
| `character` | string | Free-text user-defined communication style / persona (max 1000 chars). When non-empty, rendered as a `## Character (user-defined)` block into each backend's instruction file. The agent profile itself is selected by ProcessKey, not by this key. |
|
|
129
129
|
| `timezone` | IANA tz | Empty falls back to the system tz. |
|
|
130
130
|
| `dayBoundaryHour` | 0–9 | Default `4`. Controls the agent-day rollover (must be an early-morning hour). |
|
|
131
131
|
| `primaryLanguage` | BCP-47 | Output language for DMs, journal, and Obsidian writes. Templates stay English-headered. |
|
|
132
132
|
| `vaultMode` | enum | Where context lives — `plain` (default; `<dataDir>/context`) or `obsidian` (an external Obsidian vault). |
|
|
133
133
|
|
|
134
|
-
###
|
|
134
|
+
### Activity scan and gate
|
|
135
|
+
|
|
136
|
+
The first five keys are **deprecated fallbacks**: the activity-scan
|
|
137
|
+
cadence, active window, min-observations threshold, and enable switch
|
|
138
|
+
moved onto the activity-scan agent (`/agents/activity-scan`, Definition
|
|
139
|
+
tab → Cadence card; Enable/Disable). The keys are still accepted by
|
|
140
|
+
`PATCH /api/config` but no longer surfaced in the dashboard; values
|
|
141
|
+
resolve agent override → legacy config key → built-in default.
|
|
135
142
|
|
|
136
143
|
| Key | Type | Notes |
|
|
137
144
|
|---|---|---|
|
|
138
|
-
| `
|
|
139
|
-
| `
|
|
140
|
-
| `
|
|
141
|
-
| `
|
|
142
|
-
| `
|
|
143
|
-
| `
|
|
144
|
-
| `
|
|
145
|
-
| `
|
|
146
|
-
| `
|
|
145
|
+
| `activityScanEnabled` | boolean | **Deprecated fallback** — the agent's enable switch on `/agents/activity-scan` is the source of truth. Default `true`. |
|
|
146
|
+
| `activityScanIntervalMinutes` | number | **Deprecated fallback** — edit on `/agents/activity-scan`. Default `60`. |
|
|
147
|
+
| `activityScanActiveStartHour` | 0–23 | **Deprecated fallback** — edit on `/agents/activity-scan`. Default `4`. |
|
|
148
|
+
| `activityScanActiveEndHour` | 1–24 | **Deprecated fallback** — edit on `/agents/activity-scan`. End-exclusive; `24` ≡ midnight. |
|
|
149
|
+
| `activityScanMinObservations` | number | **Deprecated fallback** — edit on `/agents/activity-scan`. Default `1`. |
|
|
150
|
+
| `activityScanStage2Enabled` | boolean | cost-reduction-structural §B Stage 2 toggle. |
|
|
151
|
+
| `activityScanHeartbeatHours` | number | Quiet-day heartbeat cadence. |
|
|
152
|
+
| `activityScanLowSignalPendingCeiling` | number | Low-signal ceiling before forcing dispatch. |
|
|
153
|
+
| `activityScanPrePassFreshnessMinutes` | 0–480 | Default `30`. Layer-1 freshness window — `harvestForGate` skips a per-integration fetch if `runtime_state.pre_pass_last_run:<key>` is fresher. Cap widened 240 → 480 for the self-tuning R1 ladder (120/240/360/480). |
|
|
147
154
|
|
|
148
155
|
### Notifications and quiet hours
|
|
149
156
|
|
|
@@ -237,6 +244,24 @@ case-sensitive.
|
|
|
237
244
|
| `advisorEnabled` | boolean | SDK advisor toggle. |
|
|
238
245
|
| `advisorModel` | string / null | Model id; default `null`. Validated against `ADVISOR_ALLOWED_MODELS`, which the SDK pins to `claude-sonnet-4-6` and `claude-opus-4-6` only. Newer Opus generations (`claude-opus-4-7`, `claude-opus-4-8`) are silently skipped by the SDK advisor path — see `docs/advisor.md`. |
|
|
239
246
|
|
|
247
|
+
### Feedback learning
|
|
248
|
+
|
|
249
|
+
The feedback learning loop (capture → nightly consolidation → injection of
|
|
250
|
+
durable lessons). All six knobs are runtime-editable via `PATCH /api/config`,
|
|
251
|
+
surfaced by `GET /config`, and tunable from the dashboard `/settings/lessons`
|
|
252
|
+
page. Defaults and ranges below are enforced in
|
|
253
|
+
`packages/daemon/src/settings/runtime-settings.ts`.
|
|
254
|
+
|
|
255
|
+
| Key | Type | Notes |
|
|
256
|
+
|---|---|---|
|
|
257
|
+
| `feedbackLearningEnabled` | boolean | Default `true` (env `FEEDBACK_LEARNING_ENABLED`). Master kill-switch for the whole loop — capture, consolidation, and injection. |
|
|
258
|
+
| `selfTuningEnabled` | boolean | Default `false` (env `SELF_TUNING_ENABLED`). Actuation gate for the self-tuning review cycle. While `false`, the loop runs in shadow mode: the weekly review still receives `<tuning_recommendations>` and records verdicts via `POST /api/tuning/verdicts`, but no config change is ever applied. With the flag on, apply verdicts for config knobs actuate through the bounded config chokepoint — one owner DM per applied change, `!revert tuning` undoes the latest, and a daily monitor auto-reverts any change whose 7-day verify metrics regressed. Flip only after ≥2 clean shadow cycles (SELF_TUNING_REVIEW_CYCLE_DESIGN.md §7 shadow→live gate). |
|
|
259
|
+
| `feedbackPromotionThreshold` | 1–10 | Default `2` (env `FEEDBACK_PROMOTION_THRESHOLD`). Weighted-evidence threshold a behavioral / self-critique lesson must clear before it becomes injectable. |
|
|
260
|
+
| `feedbackLessonMaxBytesGlobal` | 1024–32768 | Default `8192` (env `FEEDBACK_LESSON_MAX_BYTES_GLOBAL`). Byte cap for `policies/agent-lessons.md`. |
|
|
261
|
+
| `feedbackLessonMaxBytesPerAgent` | 512–16384 | Default `4096` (env `FEEDBACK_LESSON_MAX_BYTES_PER_AGENT`). Byte cap for each `policies/agents/<slug>/lessons.md`. |
|
|
262
|
+
| `feedbackLessonStaleDays` | 7–365 | Default `60` (env `FEEDBACK_LESSON_STALE_DAYS`). Lessons whose `last=` date is older are pruned, except `kind=constraint` (durable). |
|
|
263
|
+
| `feedbackSignalRetentionDays` | 30–365 | Default `180` (env `FEEDBACK_SIGNAL_RETENTION_DAYS`). Consumed `feedback_signals` rows older than this are swept. |
|
|
264
|
+
|
|
240
265
|
## Routine Schedule Times Are Not Configurable
|
|
241
266
|
|
|
242
267
|
The morning, evening, weekly, and monthly routines fire at fixed times
|
|
@@ -249,11 +274,13 @@ shift the whole day, change `dayBoundaryHour` instead.
|
|
|
249
274
|
| `routine.morning_routine` | Daily at `dayBoundaryHour` (default 04:00). |
|
|
250
275
|
| `routine.evening_review` | Daily at `18:00` local. |
|
|
251
276
|
| `routine.weekly_review` | Friday `19:00` local (one hour after the evening review). |
|
|
252
|
-
| `routine.monthly_review` | Last day of the month at `18:00` local, but **disabled by default** (`monthlyReviewEnabled
|
|
277
|
+
| `routine.monthly_review` | Last day of the month at `18:00` local, but **disabled by default** — opt in by enabling the monthly-review agent at `/agents/monthly-review` (`agents.enabled` is the single switch; the legacy `monthlyReviewEnabled` config key is a deprecated fallback, carried forward once by a boot-time reconcile). |
|
|
253
278
|
|
|
254
|
-
The
|
|
255
|
-
cadence
|
|
256
|
-
(
|
|
279
|
+
The activity scan is the one autonomous routine with a configurable
|
|
280
|
+
cadence and active window — edited on the activity-scan agent's page
|
|
281
|
+
(`/agents/activity-scan`, Definition tab → Cadence card); the legacy
|
|
282
|
+
`activityScanIntervalMinutes` / `activityScanActiveStartHour` /
|
|
283
|
+
`…ActiveEndHour` keys remain as deprecated fallbacks.
|
|
257
284
|
|
|
258
285
|
## Restart-Required Keys
|
|
259
286
|
|
|
@@ -25,7 +25,7 @@ ask_examples:
|
|
|
25
25
|
- Why can't the agent read my .env or SSH keys?
|
|
26
26
|
locale: en-US
|
|
27
27
|
created: 2026-04-25
|
|
28
|
-
updated: 2026-
|
|
28
|
+
updated: 2026-06-07
|
|
29
29
|
keywords:
|
|
30
30
|
- disallowedTools
|
|
31
31
|
- deniedTools
|
|
@@ -42,8 +42,9 @@ related:
|
|
|
42
42
|
# Disallowed Tools
|
|
43
43
|
|
|
44
44
|
There are two distinct deny layers — the **absolute-block layer**
|
|
45
|
-
(non-overridable) and the **default strict-mode list** (
|
|
46
|
-
relaxable in Allow mode or via
|
|
45
|
+
(non-overridable) and the **default strict-mode list** (`DEFAULT_DISALLOWED_TOOLS`
|
|
46
|
+
in `src/settings/runtime-settings.ts`, relaxable in Allow mode or via
|
|
47
|
+
`allowedToolsOverride`).
|
|
47
48
|
|
|
48
49
|
## Absolute-block layer (cannot be widened past)
|
|
49
50
|
|
|
@@ -78,7 +79,8 @@ managed-Chromium chokepoints above).
|
|
|
78
79
|
|
|
79
80
|
## Default strict-mode list (relaxable)
|
|
80
81
|
|
|
81
|
-
`
|
|
82
|
+
`DEFAULT_DISALLOWED_TOOLS` (in `src/settings/runtime-settings.ts`, the
|
|
83
|
+
seed for `config.disallowedTools`) ships with additional defaults that the
|
|
82
84
|
operator can widen out of via `allowedToolsOverride` or by switching
|
|
83
85
|
to Allow mode. These include `Bash(chmod *)`, `Bash(chown *)`,
|
|
84
86
|
`Bash(git push --force *)`, `Bash(git reset --hard *)` and a handful
|
|
@@ -23,7 +23,7 @@ ask_examples:
|
|
|
23
23
|
- What does pressing "?" do in the dashboard?
|
|
24
24
|
locale: en-US
|
|
25
25
|
created: 2026-04-25
|
|
26
|
-
updated: 2026-
|
|
26
|
+
updated: 2026-06-10
|
|
27
27
|
keywords:
|
|
28
28
|
- shortcut
|
|
29
29
|
- hotkey
|
|
@@ -65,7 +65,7 @@ regardless of where focus sits.
|
|
|
65
65
|
## Examples
|
|
66
66
|
|
|
67
67
|
- Press `Cmd+K`, type "timezone", and hit Enter to jump straight to the
|
|
68
|
-
Timezone field on `/settings/
|
|
68
|
+
Timezone field on `/settings/hours`.
|
|
69
69
|
- On any screen, press `?` to ask a question about what you are looking
|
|
70
70
|
at; the help slide-over opens pre-scoped to that page's doc.
|
|
71
71
|
- While drafting a message in `/chat`, press `Cmd+Enter` to send without
|
|
@@ -34,7 +34,7 @@ ask_examples:
|
|
|
34
34
|
- Which files can the agent write to?
|
|
35
35
|
locale: en-US
|
|
36
36
|
created: 2026-05-18
|
|
37
|
-
updated: 2026-
|
|
37
|
+
updated: 2026-06-08
|
|
38
38
|
keywords:
|
|
39
39
|
- context
|
|
40
40
|
- knowledge
|
|
@@ -63,7 +63,7 @@ process_keys:
|
|
|
63
63
|
- routine.evening_review
|
|
64
64
|
- routine.weekly_review
|
|
65
65
|
- routine.monthly_review
|
|
66
|
-
- routine.
|
|
66
|
+
- routine.activity_scan
|
|
67
67
|
- routine.roadmap_refresh
|
|
68
68
|
config_keys:
|
|
69
69
|
- dayBoundaryHour
|
|
@@ -171,7 +171,7 @@ the write-permission whitelist in `packages/daemon/src/api/routes/context/permis
|
|
|
171
171
|
│ │ └── <slug>.md
|
|
172
172
|
│ └── dossiers/ Per-flow carry-forward state (agent-owned)
|
|
173
173
|
│ ├── _index.md
|
|
174
|
-
│ └── <flow>.md One per routine (
|
|
174
|
+
│ └── <flow>.md One per routine (activity-scan/morning/evening/…)
|
|
175
175
|
│
|
|
176
176
|
└── policies/ USER-authored config + rules
|
|
177
177
|
├── _index.md
|
|
@@ -182,18 +182,23 @@ the write-permission whitelist in `packages/daemon/src/api/routes/context/permis
|
|
|
182
182
|
├── journal-export.md Inclusion / exclusion rules for exporting journal/daily/
|
|
183
183
|
├── integrations.md Integration-mode snapshot (daemon-rendered,
|
|
184
184
|
│ chokidar-watched at this new path)
|
|
185
|
+
├── agent-lessons.md Feedback Learning Loop global lessons (lazy)
|
|
186
|
+
├── agents/ User-authored Agent definitions (lazy)
|
|
187
|
+
│ └── <slug>/
|
|
188
|
+
│ ├── agent.md
|
|
189
|
+
│ └── lessons.md Per-agent Feedback Learning Loop lessons (lazy)
|
|
185
190
|
├── management-captures/ One captured policy per file
|
|
186
191
|
│ ├── _index.md
|
|
187
192
|
│ └── <slug>.md
|
|
188
193
|
├── routines/ Per-cadence checklist rulebooks
|
|
189
194
|
│ ├── _index.md
|
|
190
|
-
│ ├──
|
|
195
|
+
│ ├── activity-scan.md Extension checks for routine.activity_scan
|
|
191
196
|
│ ├── morning.md …for routine.morning_routine
|
|
192
197
|
│ ├── evening.md …for routine.evening_review
|
|
193
198
|
│ ├── weekly.md …for routine.weekly_review
|
|
194
199
|
│ ├── monthly.md …for routine.monthly_review
|
|
195
200
|
│ └── custom/
|
|
196
|
-
│ └── <slug>.md
|
|
201
|
+
│ └── <slug>.md Retired custom routines (inert; migrated to user Agents)
|
|
197
202
|
└── skills/ User-registered skills (lazy directory)
|
|
198
203
|
└── <slug>/
|
|
199
204
|
└── SKILL.md Built-in skills stay in agent-assets/skills/ (read-only)
|
|
@@ -237,7 +242,8 @@ runner merges that file into the reconciler block.)
|
|
|
237
242
|
The current agent-day's working view. Daemon-managed structure:
|
|
238
243
|
|
|
239
244
|
```
|
|
240
|
-
#
|
|
245
|
+
# YYYY-MM-DD (day-of-week) — line 1 is the canonical agent-day date
|
|
246
|
+
> Day type: … — parsed by every event handler
|
|
241
247
|
## User Schedule — events for the day (from calendar observers)
|
|
242
248
|
## User Tasks — what you need to do today
|
|
243
249
|
## Agent Plan — what the agent intends to do today
|
|
@@ -380,15 +386,19 @@ the built-in steps.
|
|
|
380
386
|
| File | Cadence | Process key |
|
|
381
387
|
|---|---|---|
|
|
382
388
|
| `_index.md` | — | (navigation) |
|
|
383
|
-
| `
|
|
389
|
+
| `activity-scan.md` | every 2 h default (during active window) | `routine.activity_scan` |
|
|
384
390
|
| `morning.md` | 04:00 daily | `routine.morning_routine` |
|
|
385
391
|
| `evening.md` | evening | `routine.evening_review` |
|
|
386
392
|
| `weekly.md` | Friday | `routine.weekly_review` |
|
|
387
393
|
| `monthly.md` | month-end | `routine.monthly_review` |
|
|
388
|
-
| `custom/<slug>.md` |
|
|
394
|
+
| `custom/<slug>.md` | — (retired) | `routine.custom.<slug>` (historical) |
|
|
389
395
|
|
|
390
|
-
`custom/<slug>.md`
|
|
391
|
-
|
|
396
|
+
`custom/<slug>.md` files no longer fire — at the first start after the
|
|
397
|
+
upgrade each valid one was converted once into a user Agent at
|
|
398
|
+
`policies/agents/<slug>/agent.md`, and the source was marked inert
|
|
399
|
+
(`enabled: false` + `migrated_to_agent:`; see
|
|
400
|
+
[Custom Routines (Retired)](../features/routines/custom-routines.md)).
|
|
401
|
+
The path still supports `DELETE` so the inert files can be cleaned up.
|
|
392
402
|
|
|
393
403
|
---
|
|
394
404
|
|
|
@@ -424,7 +434,7 @@ routine to run without re-scanning the full vault.
|
|
|
424
434
|
| File | Process key |
|
|
425
435
|
|---|---|
|
|
426
436
|
| `_index.md` | (navigation) |
|
|
427
|
-
| `
|
|
437
|
+
| `activity-scan.md` | `routine.activity_scan` |
|
|
428
438
|
| `morning.md` | `routine.morning_routine`, `routine.morning_routine_today` |
|
|
429
439
|
| `evening.md` | `routine.evening_review` |
|
|
430
440
|
| `weekly.md` | `routine.weekly_review` |
|
|
@@ -558,8 +568,10 @@ listed is read-only via the API.
|
|
|
558
568
|
| `state/profile-questions` · `state/activity/*` | `PUT`, `PATCH` |
|
|
559
569
|
| `identity/_index` · `identity/*` | `PUT`, `PATCH` |
|
|
560
570
|
| `policies/_index` · `policies/*` (top-level files) | `PUT`, `PATCH` |
|
|
571
|
+
| `policies/agent-lessons` | `PUT`, `PATCH` (Feedback Learning Loop global lessons store) |
|
|
572
|
+
| `policies/agents/{slug}/{file}` | `PUT`, `PATCH`, `DELETE` (user-authored Agent definitions) |
|
|
561
573
|
| `policies/routines/_index` · `policies/routines/*` | `PUT`, `PATCH` |
|
|
562
|
-
| `policies/routines/custom/*` | `PUT`, `PATCH`, `DELETE` |
|
|
574
|
+
| `policies/routines/custom/*` | `PUT`, `PATCH`, `DELETE` (legacy — files are inert and no longer fire) |
|
|
563
575
|
| `plans/projects/_index` · `plans/projects/*` | `PUT`, `PATCH` |
|
|
564
576
|
| `plans/projects/_active` | `PUT` (the Obsidian Bases view) |
|
|
565
577
|
| `knowledge/repos/{slug}/overview` · `journal/repos/{slug}/{date}` | `PUT`, `PATCH` |
|
|
@@ -570,6 +582,7 @@ listed is read-only via the API.
|
|
|
570
582
|
| `state/inbox/*` · `state/scratch/*` | `PUT`, `PATCH`, `DELETE` |
|
|
571
583
|
| `journal/agent` | `PUT` once (create-only), then `PATCH` (append) |
|
|
572
584
|
| `policies/management-captures/_index` · `policies/management-captures/*` | `PUT`, `PATCH` |
|
|
585
|
+
| `research/*` | `PUT`, `PATCH` (browser-history research-cluster journals) |
|
|
573
586
|
|
|
574
587
|
> Legacy URL forms (`/api/context/today.md`, `/api/context/user/profile`, `/api/context/rules/management`, `/api/context/agent/journal`, etc.) are normalized to the class-prefixed canonical paths in-process by `core/context-vault-aliases.ts` before any of the above checks run. Normalization is not a redirect (no HTTP 3xx) so legacy `curl -X PUT/PATCH` callers keep working. The alias bridge lives for one minor release after PR-6's content sweep lands. <!-- drift-allow -->
|
|
575
588
|
|
|
@@ -22,7 +22,7 @@ tags:
|
|
|
22
22
|
status: stable
|
|
23
23
|
ask_examples:
|
|
24
24
|
- List all the ProcessKeys
|
|
25
|
-
- What is the default tier for
|
|
25
|
+
- What is the default tier for activity scan?
|
|
26
26
|
- Which ProcessKeys are configurable from the dashboard?
|
|
27
27
|
- What is routine.fetch_window used for?
|
|
28
28
|
locale: en-US
|
|
@@ -41,11 +41,11 @@ keywords:
|
|
|
41
41
|
- delegated_task
|
|
42
42
|
- gmail_classify
|
|
43
43
|
created: 2026-04-25
|
|
44
|
-
updated: 2026-
|
|
44
|
+
updated: 2026-06-07
|
|
45
45
|
config_keys:
|
|
46
46
|
- monthlyReviewEnabled
|
|
47
47
|
- delegatedTaskHeavyEnabled
|
|
48
|
-
-
|
|
48
|
+
- activityScanIntervalMinutes
|
|
49
49
|
- dayBoundaryHour
|
|
50
50
|
api_endpoints:
|
|
51
51
|
- POST /api/browser-task
|
|
@@ -62,7 +62,7 @@ related:
|
|
|
62
62
|
# ProcessKeys
|
|
63
63
|
|
|
64
64
|
A **ProcessKey** identifies the kind of work being dispatched (an owner DM,
|
|
65
|
-
the morning routine, an
|
|
65
|
+
the morning routine, an activity scan, …). The dispatcher passes a ProcessKey
|
|
66
66
|
to the `BackendRouter`, which resolves it to a `{ main, fallback }` backend
|
|
67
67
|
plus an execution tier — the dispatcher never picks a model directly.
|
|
68
68
|
|
|
@@ -80,15 +80,15 @@ The **default tier** column maps to a model size, not a specific id:
|
|
|
80
80
|
| `routine.morning_routine_journal` | Stage B of the morning-routine pipeline — authors `journal/daily/<yesterday>.md` from the daemon-prepared journal skeleton. | lite | yes |
|
|
81
81
|
| `routine.today_refresh` | Calendar-drift-triggered (calendar change touching today's items; 5-min dedup, fires ~30s later) — drift-refresh of `state/today.md` | medium | yes |
|
|
82
82
|
| `routine.evening_review` | Daily at 18:00 local (fixed) | medium | yes |
|
|
83
|
-
| `routine.weekly_review` | Friday
|
|
84
|
-
| `routine.monthly_review` | Monthly cadence (gated OFF by default —
|
|
85
|
-
| `routine.
|
|
86
|
-
| `routine.
|
|
83
|
+
| `routine.weekly_review` | Friday 19:00 local (fixed) | medium | yes |
|
|
84
|
+
| `routine.monthly_review` | Monthly cadence (gated OFF by default — opt in by enabling the monthly-review agent at `/agents/monthly-review`; the legacy `monthlyReviewEnabled` config key is a deprecated fallback). The routine itself is off by default, but its backend/tier binding is still configurable. | medium | yes |
|
|
85
|
+
| `routine.activity_scan` | Every N interval minutes (default 60) inside the active window — cadence set on `/agents/activity-scan`; legacy key `activityScanIntervalMinutes` is a deprecated fallback | medium | yes |
|
|
86
|
+
| `routine.activity_scan.triage` | Stage 2 triage gate of every activity scan | lite | yes |
|
|
87
87
|
| `routine.fetch_window` | Pre-pass fetcher spawned before each main routine | lite | yes |
|
|
88
88
|
| `routine.user_profile_sweep` | Periodic agent-day profile summarization pass | medium | no |
|
|
89
89
|
| `routine.roadmap_refresh` | Periodic roadmap re-derivation (NOT in `ROUTINE_WINDOWS` — no `routine.fetch_window` pre-pass; the synthesis session itself drives the native-mode MCP fan-out) | medium | yes |
|
|
90
90
|
| `routine.skill_curation` | Background skill-curation / overlay refinement loop (cron cadence picked at `/settings/self-learning`) | medium | yes |
|
|
91
|
-
| `routine.custom.<slug>` |
|
|
91
|
+
| `routine.custom.<slug>` | Retired — legacy custom routines no longer fire; they were converted to user Agents running under `agent.task` (see [Custom Routines (Retired)](../features/routines/custom-routines.md)). Seen only in historical Activity rows. | — | no |
|
|
92
92
|
| `message.dm` | Owner DM | medium | yes |
|
|
93
93
|
| `message.mention` | @-mention in a paired Slack channel where the agent is invited (DMs are `message.dm`; Telegram/WhatsApp groups are filtered out) | medium | yes |
|
|
94
94
|
| `dashboard.chat` | `/chat` send | medium | yes |
|
|
@@ -34,7 +34,7 @@ keywords:
|
|
|
34
34
|
- wiki skill
|
|
35
35
|
- notify skill
|
|
36
36
|
created: 2026-04-25
|
|
37
|
-
updated: 2026-
|
|
37
|
+
updated: 2026-06-07
|
|
38
38
|
ui_anchors:
|
|
39
39
|
- /knowledge?tab=skills
|
|
40
40
|
process_keys:
|
|
@@ -59,12 +59,16 @@ related:
|
|
|
59
59
|
Aitne ships a fixed set of built-in skills the agent loads per session. Most
|
|
60
60
|
are always available; a few are **conditional** — loaded only when a gating
|
|
61
61
|
flag is set (`gmail-lifestyle`, `managed-tasks`) or only for a specific event
|
|
62
|
-
type (`browser-task
|
|
62
|
+
type (`browser-task` / `background-task` / `background-task-reply`, on owner
|
|
63
|
+
DMs). The table below is the canonical roster.
|
|
63
64
|
|
|
64
65
|
| Slug | Purpose |
|
|
65
66
|
|---|---|
|
|
66
|
-
| `agent-actions` |
|
|
67
|
+
| `agent-actions` | Self-report structured metadata (dayType, anomalies, inbox stats, files-touched) into the session's own `agent_actions` row so daemon-side consumers read structured data instead of parsing prose. Loaded near the end of morning-routine / dispatcher sessions. |
|
|
68
|
+
| `agent-create` | Register a durable, named recurring Agent that fires on a cron cadence via `POST /api/agents`. For ongoing autonomous work (not one-time reminders → `schedule`, not background app-data fetches → `managed-tasks`). Conditional skill loaded on owner DMs / mentions when the message looks like a recurring-work request (gated by `agentCreateActiveForDm`). |
|
|
67
69
|
| `attach` | Attach a generated or downloaded file to the agent's reply when the user expects a file artifact. |
|
|
70
|
+
| `background-task` | Hand a long-running / open-ended task (deep research, a multi-repo CI audit, "monitor X over time", a bulk compile) to the detached background runner via `POST /api/background-task`. Composes a self-contained brief, sets the notification policy (`always` / `if_significant` / `silent`), POSTs, acks, and ends the turn; reads `GET /api/background-task/:id` for follow-up detail. Loaded on `message.received.dm` + `message.received.dm_first`. |
|
|
71
|
+
| `background-task-reply` | Relay the owner's natural-language answer to a background task that parked on a clarifying question (`awaiting_user`) into a structured `POST /api/background-task/:id/clarify` call. No-op unless a task is parked and the conversation shows the question was asked. Loaded on `message.received.dm`. |
|
|
68
72
|
| `browser-history` | Read normalised browser activity through `/api/browser-history/*`. Used by research-cluster journal updates, accept-path dispatches, owner pulls of shopping / reload traces, and the morning research summary. Never reads browser SQLite or profile dirs directly. |
|
|
69
73
|
| `browser-history-respond` | Bridge the owner's natural-language reply to a research-offer DM ("dig deeper" / "summarise") into a structured `/api/browser-history/offers/<slug>/{accept,decline}` call. |
|
|
70
74
|
| `browser-task` | Drive managed Chromium for open-ended browser tasks the user describes in DM. POSTs to `/api/browser-task` with a natural-language description; relays sub-agent clarifications back through DM. Loaded only on `message.received.dm`. |
|
|
@@ -83,10 +87,10 @@ type (`browser-task`, on owner DMs). The table below is the canonical roster.
|
|
|
83
87
|
| `roadmap` | Read / write `plans/roadmap.md` (cross-request write lock). |
|
|
84
88
|
| `schedule` | Schedule future agent wake-ups and DMs via the daemon (writes `agent_schedule` and `recurring_schedules` rows). |
|
|
85
89
|
| `scheduled-managed-task` | Surface and act on Managed Tasks that are due now. |
|
|
86
|
-
| `today` | Read or write `state/today.md` — morning routines,
|
|
90
|
+
| `today` | Read or write `state/today.md` — morning routines, activity scans, DMs that need a today snapshot. |
|
|
87
91
|
| `user-interview` | Manage the profile-interview queue at `state/profile-questions.md`; ask one question at a time. |
|
|
88
92
|
| `user-profile` | Record user facts — identity, people, work, expertise, habits, goals — into the `identity/*` slices (`profile.md`, `people.md`, `work.md`, …). |
|
|
89
|
-
| `wiki
|
|
93
|
+
| `wiki-*` | Build and maintain the personal wiki workspace — `!ingest` / `!compile` / `!ask` / `!lint` / `!trace` / `!connect`. Split into per-process sub-skills under `agent-assets/skills/wiki/` (`wiki-vault-rules`, `wiki-ingest`, `wiki-compile`, `wiki-ask`, `wiki-lint`, `wiki-trace`, `wiki-connect`, `wiki-graduate`), each loaded for its matching `wiki.*` ProcessKey. |
|
|
90
94
|
|
|
91
95
|
## How skills are sourced
|
|
92
96
|
|
|
@@ -100,4 +104,4 @@ A subset of these skills' sections (knowledge layout, routing tables, search
|
|
|
100
104
|
recipes, etc.) is refined at runtime through JSON **overlays** maintained by
|
|
101
105
|
the skill-curation loop. The seed files in `agent-assets/skills/` are never
|
|
102
106
|
rewritten — overlays are applied at session-init by the `SkillsCompiler` and
|
|
103
|
-
live under `<dataDir>/overlays/<
|
|
107
|
+
live under `<dataDir>/skill-curation-overlays/<slug>/<section-id>.json`.
|
|
@@ -23,7 +23,7 @@ ask_examples:
|
|
|
23
23
|
- The auth-health pill went red, what now?
|
|
24
24
|
locale: en-US
|
|
25
25
|
created: 2026-04-25
|
|
26
|
-
updated: 2026-
|
|
26
|
+
updated: 2026-06-07
|
|
27
27
|
keywords:
|
|
28
28
|
- auth failed
|
|
29
29
|
- auth error
|
|
@@ -60,8 +60,8 @@ api_endpoints:
|
|
|
60
60
|
on a healthy install. Re-paste the key on `/settings/models`.
|
|
61
61
|
2. **Subscription-fallback login expired** when no API key was
|
|
62
62
|
registered (the daemon was running on the CLI's local login —
|
|
63
|
-
`claude`, `codex login`, `gemini
|
|
64
|
-
out). The recommended fix is to register an API key.
|
|
63
|
+
`claude auth login`, `codex login`, `gemini` — and that session
|
|
64
|
+
timed out). The recommended fix is to register an API key.
|
|
65
65
|
3. **Account-level scope change** at the provider (key disabled,
|
|
66
66
|
project deleted, billing suspended). For cloud-provider auth
|
|
67
67
|
(Bedrock / Vertex / Foundry for Claude, Vertex AI for Gemini),
|
|
@@ -87,13 +87,14 @@ re-probes immediately — no restart needed.
|
|
|
87
87
|
**If the backend is on the subscription fallback:** the recommended
|
|
88
88
|
fix is to register an API key on `/settings/models`. The same picker
|
|
89
89
|
also exposes cloud-provider auth — Bedrock / Vertex / Foundry for
|
|
90
|
-
Claude, Vertex AI for Gemini
|
|
91
|
-
|
|
92
|
-
|
|
90
|
+
Claude, Vertex AI for Gemini, and Azure OpenAI for Codex. (Codex Azure
|
|
91
|
+
OpenAI needs a `config.toml` in addition to env vars; the daemon writes
|
|
92
|
+
a managed one under `<dataDir>/codex-home/` and points `CODEX_HOME`
|
|
93
|
+
there, leaving your `~/.codex/` untouched.)
|
|
93
94
|
|
|
94
95
|
If you cannot or do not want to register a key, re-run the
|
|
95
|
-
corresponding CLI login (`claude`, `codex login`, `gemini
|
|
96
|
-
the daemon picks up the new credentials on the next probe. Some
|
|
96
|
+
corresponding CLI login (`claude auth login`, `codex login`, `gemini`)
|
|
97
|
+
and the daemon picks up the new credentials on the next probe. Some
|
|
97
98
|
backends also expose an in-dashboard device-code recovery flow
|
|
98
99
|
(`recovery/start` → `recovery/code`) reachable from the pill's
|
|
99
100
|
recovery hint. Note that subscription auth is not provider-supported
|
|
@@ -13,9 +13,8 @@ category: troubleshooting
|
|
|
13
13
|
summary: |
|
|
14
14
|
A red "Daemon degraded" banner appears above every page when the daemon
|
|
15
15
|
enters degraded mode. This almost always means your Obsidian-style primary
|
|
16
|
-
vault is unreachable (path moved, drive unplugged, or not yet seeded)
|
|
17
|
-
|
|
18
|
-
refused with HTTP 503.
|
|
16
|
+
vault is unreachable (path moved, drive unplugged, or not yet seeded). While
|
|
17
|
+
degraded, every context read AND write is refused with HTTP 503.
|
|
19
18
|
section: troubleshooting
|
|
20
19
|
status: stable
|
|
21
20
|
tags:
|
|
@@ -29,7 +28,7 @@ ask_examples:
|
|
|
29
28
|
- Why are context writes being refused with 503?
|
|
30
29
|
locale: en-US
|
|
31
30
|
created: 2026-04-25
|
|
32
|
-
updated: 2026-
|
|
31
|
+
updated: 2026-06-07
|
|
33
32
|
keywords:
|
|
34
33
|
- degraded
|
|
35
34
|
- degraded banner
|
|
@@ -62,8 +61,10 @@ related:
|
|
|
62
61
|
followed by the offending path.
|
|
63
62
|
- An **Open Management Mode** button on the right of the banner (links to
|
|
64
63
|
Settings → Management Mode).
|
|
65
|
-
- Any routine or skill that
|
|
66
|
-
returns **HTTP 503** for every `
|
|
64
|
+
- Any routine or skill that touches a context file fails: while degraded the
|
|
65
|
+
context API returns **HTTP 503** for every request — reads (`GET`) as well as
|
|
66
|
+
writes (`POST`/`PUT`/`PATCH`/`DELETE`) — so the agent never reads or writes a
|
|
67
|
+
stale fallback location.
|
|
67
68
|
|
|
68
69
|
## What "Degraded" Actually Means
|
|
69
70
|
|
|
@@ -83,15 +84,21 @@ The `reason` in the banner is one of:
|
|
|
83
84
|
| `primary_vault_unreachable` | The configured vault path doesn't exist, isn't a directory, or isn't writable (e.g. an external drive was unplugged). |
|
|
84
85
|
| `primary_vault_not_configured` | Vault mode is Obsidian but no `primaryVaultPath` is set. |
|
|
85
86
|
| `primary_vault_missing_content`| The path is reachable but doesn't carry the expected vault markers (it was never seeded / restructured). |
|
|
86
|
-
|
|
87
|
+
|
|
88
|
+
A context-vault migration (`POST /api/setup/migrate-context`) is a **separate**
|
|
89
|
+
state, not a degraded reason — it does **not** raise this banner. During a
|
|
90
|
+
migration the daemon engages a context-write gate (`migration_in_progress`):
|
|
91
|
+
writes return HTTP 503 while reads still work, `/api/health` stays
|
|
92
|
+
`"status":"ok"`, and the gate clears itself when the migration finishes.
|
|
87
93
|
|
|
88
94
|
## Diagnostic Steps
|
|
89
95
|
|
|
90
96
|
1. **Read the banner.** The `reason` and `path` tell you most of the story.
|
|
91
97
|
2. `aitne logs` — look for `Vault health probe entered degraded mode`; the
|
|
92
98
|
logged `reason` matches the banner.
|
|
93
|
-
3. If
|
|
94
|
-
the
|
|
99
|
+
3. If a context-vault migration is running (write-gate `migration_in_progress`
|
|
100
|
+
rather than the banner), **wait** — the migration releases the write gate
|
|
101
|
+
when it completes; do not restart mid-migration.
|
|
95
102
|
4. Otherwise the issue is your vault path. Confirm it exists and is writable:
|
|
96
103
|
- `ls -ld "<path-from-banner>"` — the directory must exist.
|
|
97
104
|
- `df -h "<path-from-banner>"` — confirm the volume is mounted with free
|
|
@@ -22,7 +22,7 @@ tags:
|
|
|
22
22
|
status: stable
|
|
23
23
|
locale: en-US
|
|
24
24
|
created: 2026-04-25
|
|
25
|
-
updated: 2026-
|
|
25
|
+
updated: 2026-06-07
|
|
26
26
|
keywords:
|
|
27
27
|
- magic phrase
|
|
28
28
|
- owner channel
|
|
@@ -85,7 +85,7 @@ All secrets are single-use and expire after **5 minutes**.
|
|
|
85
85
|
|
|
86
86
|
## Diagnostic steps
|
|
87
87
|
|
|
88
|
-
1. On `/connections/messaging`, click **
|
|
88
|
+
1. On `/connections/messaging`, click **Generate pairing phrase** (Slack /
|
|
89
89
|
Discord) or re-open the QR / deep link (Telegram / WhatsApp) so you
|
|
90
90
|
start a fresh 5-minute window.
|
|
91
91
|
2. For Slack / Discord, send **only** the four words — no surrounding
|