@aitne-sh/aitne 0.1.7 → 0.1.9
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 +256 -833
- package/agent-assets/agent-profiles/_safety.md +52 -20
- package/agent-assets/agent-profiles/browser-task.md +108 -0
- package/agent-assets/agent-profiles/conversational.md +3 -3
- package/agent-assets/agent-profiles/profile-importer.md +3 -3
- package/agent-assets/agent-profiles/routine-fetch-window.md +30 -19
- package/agent-assets/agent-profiles/routine.md +4 -3
- package/agent-assets/agents/context-index-reconcile/agent.md +52 -0
- package/agent-assets/agents/evening-review/agent.md +53 -0
- package/agent-assets/agents/hourly-check/agent.md +62 -0
- package/agent-assets/agents/monthly-review/agent.md +55 -0
- package/agent-assets/agents/morning-routine/agent.md +78 -0
- package/agent-assets/agents/roadmap-maintenance/agent.md +52 -0
- package/agent-assets/agents/skill-curation/agent.md +52 -0
- package/agent-assets/agents/user-profile-sweep-evening/agent.md +48 -0
- package/agent-assets/agents/user-profile-sweep-morning/agent.md +53 -0
- package/agent-assets/agents/weekly-review/agent.md +51 -0
- package/agent-assets/docs/concepts/agent-day.md +18 -11
- package/agent-assets/docs/concepts/auth-health.md +56 -10
- package/agent-assets/docs/concepts/backends-and-tiers.md +110 -41
- package/agent-assets/docs/concepts/costs-and-quotas.md +74 -19
- package/agent-assets/docs/concepts/delegated-mode.md +193 -75
- package/agent-assets/docs/concepts/memory-model.md +79 -34
- package/agent-assets/docs/concepts/observations.md +61 -11
- package/agent-assets/docs/concepts/process-keys.md +66 -17
- package/agent-assets/docs/concepts/routines.md +77 -32
- package/agent-assets/docs/concepts/safety-and-execution.md +50 -21
- package/agent-assets/docs/concepts/safety-model.md +62 -37
- package/agent-assets/docs/concepts/skills.md +38 -17
- package/agent-assets/docs/features/integrations/browser-history.md +195 -0
- package/agent-assets/docs/features/integrations/calendar.md +40 -30
- package/agent-assets/docs/features/integrations/git.md +20 -9
- package/agent-assets/docs/features/integrations/github.md +93 -35
- package/agent-assets/docs/features/integrations/mail.md +60 -17
- package/agent-assets/docs/features/integrations/notion.md +51 -11
- package/agent-assets/docs/features/integrations/obsidian.md +35 -7
- package/agent-assets/docs/features/lifestyle/git.md +45 -44
- package/agent-assets/docs/features/lifestyle/reading.md +50 -22
- package/agent-assets/docs/features/lifestyle/receipts.md +66 -21
- package/agent-assets/docs/features/lifestyle/travel-bookings.md +91 -14
- package/agent-assets/docs/features/memory-files/agent-journal.md +111 -50
- package/agent-assets/docs/features/memory-files/projects.md +75 -15
- package/agent-assets/docs/features/memory-files/roadmap.md +55 -10
- package/agent-assets/docs/features/memory-files/schedule.md +113 -70
- package/agent-assets/docs/features/memory-files/today.md +47 -21
- package/agent-assets/docs/features/memory-files/user-profile.md +67 -31
- package/agent-assets/docs/features/messaging/bang-commands.md +115 -28
- package/agent-assets/docs/features/messaging/dashboard-chat.md +43 -21
- package/agent-assets/docs/features/messaging/discord.md +46 -4
- package/agent-assets/docs/features/messaging/overview.md +40 -19
- package/agent-assets/docs/features/messaging/pairing-and-magic-phrase.md +94 -27
- package/agent-assets/docs/features/messaging/slack.md +79 -14
- package/agent-assets/docs/features/messaging/telegram.md +25 -6
- package/agent-assets/docs/features/messaging/whatsapp.md +79 -14
- package/agent-assets/docs/features/operations/activity-and-conversations.md +45 -16
- package/agent-assets/docs/features/operations/approvals.md +53 -15
- package/agent-assets/docs/features/operations/backend-routing.md +75 -16
- package/agent-assets/docs/features/operations/cost-tracking.md +90 -17
- package/agent-assets/docs/features/operations/managed-chromium.md +221 -0
- package/agent-assets/docs/features/operations/notifications.md +58 -11
- package/agent-assets/docs/features/operations/quiet-hours.md +63 -40
- package/agent-assets/docs/features/operations/schedule-approaching.md +59 -16
- package/agent-assets/docs/features/routines/custom-routines.md +97 -23
- package/agent-assets/docs/features/routines/evening-review.md +75 -22
- package/agent-assets/docs/features/routines/hourly-check.md +150 -30
- package/agent-assets/docs/features/routines/morning-routine.md +60 -33
- package/agent-assets/docs/features/routines/weekly-review.md +65 -20
- package/agent-assets/docs/features/wiki/commands.md +37 -16
- package/agent-assets/docs/features/wiki/cost-and-approval.md +240 -0
- package/agent-assets/docs/features/wiki/dashboard.md +255 -0
- package/agent-assets/docs/features/wiki/overview.md +80 -12
- package/agent-assets/docs/features/wiki/search.md +248 -0
- package/agent-assets/docs/features/wiki/workspaces.md +254 -0
- package/agent-assets/docs/getting-started/01-what-is-this.md +64 -32
- package/agent-assets/docs/getting-started/02-first-steps.md +28 -10
- package/agent-assets/docs/getting-started/03-what-can-this-do.md +42 -21
- package/agent-assets/docs/getting-started/04-first-day.md +52 -20
- package/agent-assets/docs/glossary.md +285 -21
- package/agent-assets/docs/guides/add-a-custom-routine.md +74 -22
- package/agent-assets/docs/guides/backup-and-restore.md +92 -14
- package/agent-assets/docs/guides/budget-and-cost-for-wiki.md +62 -25
- package/agent-assets/docs/guides/build-your-wiki.md +33 -6
- package/agent-assets/docs/guides/change-which-model-handles-x.md +70 -9
- package/agent-assets/docs/guides/connect-a-new-mail-account.md +80 -15
- package/agent-assets/docs/guides/explore-with-trace-and-connect.md +32 -9
- package/agent-assets/docs/guides/import-knowledge-file.md +60 -39
- package/agent-assets/docs/guides/install-and-run.md +64 -19
- package/agent-assets/docs/guides/maintain-wiki-health.md +41 -10
- package/agent-assets/docs/guides/migrate-machines.md +86 -18
- package/agent-assets/docs/guides/multiple-wikis-for-multiple-domains.md +119 -59
- package/agent-assets/docs/guides/pause-the-agent.md +71 -22
- package/agent-assets/docs/guides/reinstall-cleanly.md +102 -17
- package/agent-assets/docs/guides/setup-wizard.md +126 -56
- package/agent-assets/docs/guides/switch-default-backend.md +72 -17
- package/agent-assets/docs/guides/use-an-existing-obsidian-vault.md +31 -10
- package/agent-assets/docs/reference/api.md +162 -23
- package/agent-assets/docs/reference/cli-commands.md +55 -15
- package/agent-assets/docs/reference/config.md +246 -39
- package/agent-assets/docs/reference/disallowed-tools.md +42 -10
- package/agent-assets/docs/reference/keyboard-shortcuts.md +47 -10
- package/agent-assets/docs/reference/knowledge-layout.md +620 -0
- package/agent-assets/docs/reference/process-keys.md +126 -20
- package/agent-assets/docs/reference/skills.md +62 -18
- package/agent-assets/docs/troubleshooting/auth-failed.md +53 -19
- package/agent-assets/docs/troubleshooting/dashboard-shows-degraded.md +96 -22
- package/agent-assets/docs/troubleshooting/fallback-keeps-firing.md +94 -20
- package/agent-assets/docs/troubleshooting/messaging-not-pairing.md +77 -22
- package/agent-assets/docs/troubleshooting/morning-routine-didnt-run.md +87 -22
- package/agent-assets/docs/troubleshooting/observation-not-detected.md +85 -21
- package/agent-assets/docs/troubleshooting/quota-exhausted.md +36 -6
- package/agent-assets/docs/troubleshooting/wiki-ingest-full-blocked.md +128 -51
- package/agent-assets/docs/troubleshooting/wiki-write-failed.md +33 -11
- package/agent-assets/optimizer-skills/drift-analysis/SKILL.md +1 -1
- package/agent-assets/optimizer-skills/knowledge-map/SKILL.md +1 -1
- package/agent-assets/optimizer-skills/skill-curation/SKILL.md +2 -2
- package/agent-assets/sandbox/linux/aitne-chromium.apparmor +91 -0
- package/agent-assets/sandbox/macos/aitne-chromium.sb +156 -0
- package/agent-assets/skills/agent-actions/SKILL.md +122 -0
- package/agent-assets/skills/agent-create/SKILL.md +149 -0
- package/agent-assets/skills/attach/SKILL.md +3 -4
- package/agent-assets/skills/browser-history/SKILL.md +198 -0
- package/agent-assets/skills/browser-history-respond/SKILL.md +106 -0
- package/agent-assets/skills/browser-task/SKILL.md +169 -0
- package/agent-assets/skills/context/SKILL.md +45 -463
- package/agent-assets/skills/context/curation.json +2 -2
- package/agent-assets/skills/context/references/api.md +232 -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 +4 -4
- package/agent-assets/skills/docs-search/SKILL.md +17 -16
- package/agent-assets/skills/external-services/SKILL.delegated.claude.md +14 -26
- package/agent-assets/skills/external-services/SKILL.delegated.codex.md +14 -26
- package/agent-assets/skills/external-services/SKILL.delegated.gemini.md +14 -26
- package/agent-assets/skills/external-services/SKILL.md +9 -262
- package/agent-assets/skills/external-services/SKILL.native.claude.md +6 -7
- package/agent-assets/skills/external-services/SKILL.native.codex.md +8 -9
- package/agent-assets/skills/external-services/SKILL.native.gemini.md +5 -6
- 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 +151 -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/mail/SKILL.delegated.claude.md +15 -6
- package/agent-assets/skills/mail/SKILL.delegated.codex.md +9 -5
- package/agent-assets/skills/mail/SKILL.delegated.gemini.md +9 -5
- 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 +110 -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 +73 -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 +54 -125
- package/agent-assets/skills/management-policy/curation.json +1 -1
- package/agent-assets/skills/management-policy/references/policy-workflow.md +101 -0
- package/agent-assets/skills/management-policy/seeds/policy-file-shape.seed.json +1 -1
- package/agent-assets/skills/notify/SKILL.md +10 -82
- package/agent-assets/skills/notify/references/priority.md +65 -0
- package/agent-assets/skills/notion/SKILL.delegated.claude.md +2 -2
- package/agent-assets/skills/notion/SKILL.delegated.codex.md +2 -2
- package/agent-assets/skills/notion/SKILL.delegated.gemini.md +2 -2
- package/agent-assets/skills/notion/SKILL.md +6 -10
- package/agent-assets/skills/notion/SKILL.native.claude.md +11 -8
- package/agent-assets/skills/notion/SKILL.native.codex.md +10 -6
- package/agent-assets/skills/notion/SKILL.native.gemini.md +10 -6
- package/agent-assets/skills/observations/SKILL.md +25 -14
- package/agent-assets/skills/project-doc/SKILL.md +2 -6
- package/agent-assets/skills/project-doc/curation.json +3 -3
- package/agent-assets/skills/project-doc/seeds/project-shape.seed.json +7 -4
- package/agent-assets/skills/project-doc/seeds/slug-grammar.seed.json +3 -3
- package/agent-assets/skills/reading/SKILL.md +12 -2
- package/agent-assets/skills/reading/references/reading-taste.md +2 -2
- package/agent-assets/skills/roadmap/SKILL.md +43 -141
- package/agent-assets/skills/roadmap/curation.json +1 -1
- package/agent-assets/skills/roadmap/references/api.md +100 -0
- package/agent-assets/skills/roadmap/references/cross-check.md +80 -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/roadmap/seeds/entry-types.seed.json +1 -1
- package/agent-assets/skills/schedule/SKILL.md +76 -104
- package/agent-assets/skills/schedule/references/batch.md +93 -0
- package/agent-assets/skills/schedule/references/errors.md +217 -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/scheduled-managed-task/SKILL.md +59 -51
- package/agent-assets/skills/today/SKILL.md +32 -62
- package/agent-assets/skills/today/curation.json +3 -3
- package/agent-assets/skills/today/references/agent-plan-lifecycle.md +114 -0
- package/agent-assets/skills/today/seeds/section-shape.seed.json +1 -1
- package/agent-assets/skills/user-interview/SKILL.md +23 -67
- 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 +9 -1
- package/agent-assets/skills/user-profile/SKILL.md +54 -74
- package/agent-assets/skills/user-profile/curation.json +2 -2
- package/agent-assets/skills/user-profile/references/character-preferences.md +83 -0
- package/agent-assets/skills/user-profile/seeds/routing-table.seed.json +8 -8
- package/agent-assets/skills/user-profile/seeds/topic-files.seed.json +30 -2
- package/agent-assets/skills/wiki/wiki-ask/SKILL.md +0 -1
- package/agent-assets/skills/wiki/wiki-compile/SKILL.md +4 -5
- 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 +78 -0
- package/agent-assets/system-prompts/skill-index-instruction.md +26 -0
- package/agent-assets/task-flows/_partials/calendar-acquire.google_calendar.md +20 -11
- package/agent-assets/task-flows/_partials/calendar-acquire.outlook_calendar.md +18 -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 +18 -9
- package/agent-assets/task-flows/_partials/notion-acquire.notion.md +26 -15
- package/agent-assets/task-flows/browser_task.md +84 -0
- 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.workflow_run.failed.md +2 -2
- package/agent-assets/task-flows/knowledge.import.md +15 -15
- package/agent-assets/task-flows/message.received.dm.md +20 -17
- package/agent-assets/task-flows/message.received.dm_first.md +11 -15
- package/agent-assets/task-flows/routine.custom.md +6 -4
- package/agent-assets/task-flows/routine.evening_review.md +46 -170
- package/agent-assets/task-flows/routine.fetch_window.md +19 -14
- package/agent-assets/task-flows/routine.hourly_check.md +27 -15
- package/agent-assets/task-flows/routine.hourly_check.triage.md +1 -1
- package/agent-assets/task-flows/routine.monthly_review.md +67 -25
- package/agent-assets/task-flows/routine.morning_routine_journal.md +135 -0
- package/agent-assets/task-flows/routine.morning_routine_today.md +673 -0
- package/agent-assets/task-flows/routine.research_cluster_update.md +35 -0
- package/agent-assets/task-flows/routine.research_dispatch.md +38 -0
- package/agent-assets/task-flows/routine.research_offer_dm.md +125 -0
- package/agent-assets/task-flows/routine.research_wiki_summary.md +53 -0
- package/agent-assets/task-flows/routine.roadmap_refresh.md +68 -23
- package/agent-assets/task-flows/routine.today_refresh.md +4 -4
- package/agent-assets/task-flows/routine.user_profile_sweep.md +19 -20
- package/agent-assets/task-flows/routine.weekly_review.md +370 -86
- package/agent-assets/task-flows/schedule.approaching.md +0 -1
- package/agent-assets/task-flows/scheduled.dm.md +13 -13
- package/agent-assets/task-flows/scheduled.task.md +9 -9
- package/agent-assets/task-flows/setup.initial.md +171 -251
- package/agent-assets/task-flows/setup.update.md +2 -2
- package/agent-assets/task-flows/wiki.ingest_url.md +1 -1
- package/agent-assets/templates/README.md +27 -20
- package/agent-assets/templates/_index.md +42 -26
- package/agent-assets/templates/_manifest.json +34 -99
- package/agent-assets/templates/{user → identity}/_index.md +1 -1
- package/agent-assets/templates/identity/expertise.md +9 -0
- package/agent-assets/templates/identity/goals.md +9 -0
- package/agent-assets/templates/identity/people.md +13 -0
- package/agent-assets/templates/identity/personal.md +9 -0
- package/agent-assets/templates/{user → identity}/profile.md +2 -2
- package/agent-assets/templates/identity/work.md +9 -0
- package/agent-assets/templates/{dossiers → knowledge/dossiers}/_index.md +2 -2
- package/agent-assets/templates/{projects → plans/projects}/_active.base +1 -1
- package/agent-assets/templates/policies/_index.md +21 -0
- package/agent-assets/templates/{rules → policies}/journal-export.md +1 -1
- package/agent-assets/templates/policies/journal-format.md +168 -0
- package/agent-assets/templates/{rules/policies → policies/management-captures}/_index.md +2 -2
- package/agent-assets/templates/{rules → policies}/management.md +3 -3
- package/agent-assets/templates/{rules → policies}/mcp.md +1 -1
- package/agent-assets/templates/{rules → policies}/redaction.md +1 -1
- package/agent-assets/templates/{routines → policies/routines}/_index.md +1 -1
- package/agent-assets/templates/{routines → policies/routines}/evening.md +2 -2
- package/agent-assets/templates/{routines → policies/routines}/hourly.md +1 -1
- package/agent-assets/templates/{routines → policies/routines}/monthly.md +2 -2
- package/bin/aitne.mjs +21 -5
- package/package.json +5 -4
- package/scripts/commands/doctor.mjs +63 -5
- package/scripts/commands/run-now.mjs +187 -0
- package/scripts/commands/verify.mjs +264 -0
- package/scripts/lib/ports.d.mts +27 -0
- package/scripts/lib/ports.mjs +36 -0
- package/scripts/lib/read-api-token.mjs +176 -0
- package/scripts/start.mjs +2 -1
- package/agent-assets/docs/features/lifestyle/travel-time.md +0 -52
- 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
- package/agent-assets/templates/context-index.md +0 -42
- package/agent-assets/templates/rules/_index.md +0 -19
- package/agent-assets/templates/rules/journal-format.md +0 -61
- package/agent-assets/templates/user/expertise.md +0 -7
- package/agent-assets/templates/user/goals.md +0 -7
- package/agent-assets/templates/user/people.md +0 -7
- package/agent-assets/templates/user/personal.md +0 -7
- package/agent-assets/templates/user/work.md +0 -7
- /package/agent-assets/templates/{agent/journal.md → journal/agent.md} +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/evening.md +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/hourly.md +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/monthly.md +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/morning.md +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/roadmap.md +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/weekly.md +0 -0
- /package/agent-assets/templates/{projects → plans/projects}/_index.md +0 -0
- /package/agent-assets/templates/{roadmap.md → plans/roadmap.md} +0 -0
- /package/agent-assets/templates/{routines → policies/routines}/morning.md +0 -0
- /package/agent-assets/templates/{routines → policies/routines}/weekly.md +0 -0
- /package/agent-assets/templates/{agent → state}/profile-questions.md +0 -0
- /package/agent-assets/templates/{today.md → state/today.md} +0 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
---
|
|
2
|
+
# ── Identity ─────────────────────────────────────────────────────────────────
|
|
3
|
+
slug: morning-routine
|
|
4
|
+
name: Morning Routine
|
|
5
|
+
description: "Regenerates state/today.md, creates the daily journal entry, and delivers the morning DM digest at the day boundary."
|
|
6
|
+
kind: builtin
|
|
7
|
+
version: 1
|
|
8
|
+
enabled: true
|
|
9
|
+
tags: [routine, daily, journal]
|
|
10
|
+
|
|
11
|
+
# ── Schedule ─────────────────────────────────────────────────────────────────
|
|
12
|
+
# `{dayBoundaryHour}` is substituted with the live config value at load
|
|
13
|
+
# (default 4 → "0 4 * * *"). The registry (§5.5) is the authoritative cron
|
|
14
|
+
# source; the loader emits a non-fatal drift warning on mismatch.
|
|
15
|
+
# `timezone` is intentionally omitted — the loader fills it from
|
|
16
|
+
# `config.timezone` (US-targeted product; no baked single-zone default).
|
|
17
|
+
schedule:
|
|
18
|
+
kind: cron
|
|
19
|
+
expression: "0 {dayBoundaryHour} * * *"
|
|
20
|
+
|
|
21
|
+
# ── Backend / routing ────────────────────────────────────────────────────────
|
|
22
|
+
# `tier`/`model` are null: built-ins defer their routing to
|
|
23
|
+
# `process_backend_config` (the seed authority). Operators override per-agent
|
|
24
|
+
# from the dashboard (§6.4.1), not here.
|
|
25
|
+
backend:
|
|
26
|
+
process_key: routine.morning_routine
|
|
27
|
+
tier: null
|
|
28
|
+
model: null
|
|
29
|
+
|
|
30
|
+
# ── Limits (per execution) ───────────────────────────────────────────────────
|
|
31
|
+
limits:
|
|
32
|
+
max_turns: 30
|
|
33
|
+
max_budget_usd: 0.50
|
|
34
|
+
timeout_minutes: 15
|
|
35
|
+
|
|
36
|
+
# ── Expected outputs (informational; drive the dashboard + criteria intent) ──
|
|
37
|
+
outputs:
|
|
38
|
+
- state/today.md
|
|
39
|
+
- journal/daily/{date}.md
|
|
40
|
+
- journal/agent.md
|
|
41
|
+
|
|
42
|
+
# ── Semantic success checks (best-effort, evaluated post-execute) ────────────
|
|
43
|
+
# today.md is regenerated wholesale every morning, so a section-count floor is
|
|
44
|
+
# a real check (it fails on a degenerate/empty regen). The daily journal is
|
|
45
|
+
# written for the *previous* agent-day (`daily/<yesterday>.md`), which the
|
|
46
|
+
# `{date}`-only evaluator cannot target, and the DM digest is conditional —
|
|
47
|
+
# both are listed under `outputs` rather than asserted as criteria.
|
|
48
|
+
success_criteria:
|
|
49
|
+
- id: today_md_populated
|
|
50
|
+
kind: file_section_count
|
|
51
|
+
target: state/today.md
|
|
52
|
+
heading_level: 2
|
|
53
|
+
min: 3
|
|
54
|
+
|
|
55
|
+
# ── Error handling ───────────────────────────────────────────────────────────
|
|
56
|
+
on_error:
|
|
57
|
+
retries: 1
|
|
58
|
+
retry_delay_seconds: 60
|
|
59
|
+
notify_owner: true
|
|
60
|
+
|
|
61
|
+
# ── Stop warning (byte-identical to BUILTIN_AGENT_REGISTRY, §12.1) ──────────
|
|
62
|
+
stop_warning:
|
|
63
|
+
level: critical
|
|
64
|
+
services_lost:
|
|
65
|
+
- "Daily state/today.md regeneration"
|
|
66
|
+
- "Daily journal entry creation"
|
|
67
|
+
- "Morning DM digest delivery"
|
|
68
|
+
dependent_agents:
|
|
69
|
+
- evening-review
|
|
70
|
+
- weekly-review
|
|
71
|
+
reactivation_hint: "Re-enable from /agents/morning-routine. The next firing catches up with a broader observation window."
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
# Morning Routine
|
|
75
|
+
|
|
76
|
+
Built-in routine — the execution prompt lives in the task-flow, not here.
|
|
77
|
+
See `agent-assets/task-flows/routine.morning_routine_today.md` (Stage A — today.md synthesis)
|
|
78
|
+
and `agent-assets/task-flows/routine.morning_routine_journal.md` (Stage B — daily journal).
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
# ── Identity ─────────────────────────────────────────────────────────────────
|
|
3
|
+
slug: roadmap-maintenance
|
|
4
|
+
name: Roadmap Maintenance
|
|
5
|
+
description: "Mechanical (no-LLM) roadmap.md upkeep — stale-item pruning and section reconciliation — before the evening review."
|
|
6
|
+
kind: builtin
|
|
7
|
+
version: 1
|
|
8
|
+
enabled: true
|
|
9
|
+
tags: [routine, daily, roadmap, no-llm]
|
|
10
|
+
|
|
11
|
+
# ── Schedule (17:45 — releases the roadmap write-lock before Evening Review) ─
|
|
12
|
+
schedule:
|
|
13
|
+
kind: cron
|
|
14
|
+
expression: "45 17 * * *"
|
|
15
|
+
|
|
16
|
+
# ── Backend / routing ────────────────────────────────────────────────────────
|
|
17
|
+
# `process_key: null` — this is a no-LLM in-process pass with no backend-routing
|
|
18
|
+
# key (§5.5.1). Reserved for built-ins; the schema rejects a null key for user
|
|
19
|
+
# Agents.
|
|
20
|
+
backend:
|
|
21
|
+
process_key: null
|
|
22
|
+
tier: null
|
|
23
|
+
model: null
|
|
24
|
+
|
|
25
|
+
# ── Limits (no LLM turn — zero budget; `max_turns` must be ≥ 1 per schema) ──
|
|
26
|
+
limits:
|
|
27
|
+
max_turns: 1
|
|
28
|
+
max_budget_usd: 0
|
|
29
|
+
timeout_minutes: 5
|
|
30
|
+
|
|
31
|
+
# ── Expected outputs ─────────────────────────────────────────────────────────
|
|
32
|
+
outputs:
|
|
33
|
+
- plans/roadmap.md
|
|
34
|
+
|
|
35
|
+
success_criteria: []
|
|
36
|
+
|
|
37
|
+
# ── Stop warning (byte-identical to BUILTIN_AGENT_REGISTRY, §12.1) ──────────
|
|
38
|
+
stop_warning:
|
|
39
|
+
level: high
|
|
40
|
+
services_lost:
|
|
41
|
+
- "Mechanical roadmap.md maintenance (stale-item pruning, section reconciliation)"
|
|
42
|
+
dependent_agents:
|
|
43
|
+
- evening-review
|
|
44
|
+
reactivation_hint: "Re-enable from /agents/roadmap-maintenance. Runs daily at 17:45, before Evening Review."
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
# Roadmap Maintenance
|
|
48
|
+
|
|
49
|
+
No-LLM in-process pass — there is no task-flow. Implemented by the daemon
|
|
50
|
+
callback `onRoadmapMaintenance` registered in `scheduler.ts` (mechanical
|
|
51
|
+
`roadmap.md` stale-item pruning and section reconciliation). It runs at 17:45
|
|
52
|
+
and releases the roadmap write-lock before Evening Review's 18:00 promotion.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
# ── Identity ─────────────────────────────────────────────────────────────────
|
|
3
|
+
slug: skill-curation
|
|
4
|
+
name: Skill Curation
|
|
5
|
+
description: "Generates typed skill self-optimization proposals on the configured cadence (opt-in)."
|
|
6
|
+
kind: builtin
|
|
7
|
+
version: 1
|
|
8
|
+
enabled: true
|
|
9
|
+
tags: [routine, skills, self-learning, opt-in]
|
|
10
|
+
|
|
11
|
+
# ── Schedule (03:00; scheduler reads the configured cadence at fire time) ────
|
|
12
|
+
schedule:
|
|
13
|
+
kind: cron
|
|
14
|
+
expression: "0 3 * * *"
|
|
15
|
+
|
|
16
|
+
# ── Backend / routing (tier/model deferred to process_backend_config) ───────
|
|
17
|
+
backend:
|
|
18
|
+
process_key: routine.skill_curation
|
|
19
|
+
tier: null
|
|
20
|
+
model: null
|
|
21
|
+
|
|
22
|
+
# ── Limits (per execution) ───────────────────────────────────────────────────
|
|
23
|
+
limits:
|
|
24
|
+
max_turns: 25
|
|
25
|
+
max_budget_usd: 0.50
|
|
26
|
+
timeout_minutes: 15
|
|
27
|
+
|
|
28
|
+
# ── Expected outputs ─────────────────────────────────────────────────────────
|
|
29
|
+
# Output is typed curation submissions (proposals persisted via the
|
|
30
|
+
# skill-curation API), not a deterministic vault file — documented here, no
|
|
31
|
+
# post-execute criterion asserted in v1.
|
|
32
|
+
outputs:
|
|
33
|
+
- "Typed skill self-optimization proposals (skill-curation submissions)"
|
|
34
|
+
|
|
35
|
+
success_criteria: []
|
|
36
|
+
|
|
37
|
+
# ── Stop warning (byte-identical to BUILTIN_AGENT_REGISTRY, §12.1) ──────────
|
|
38
|
+
stop_warning:
|
|
39
|
+
level: normal
|
|
40
|
+
services_lost:
|
|
41
|
+
- "Skill self-optimization proposals (typed curation submissions)"
|
|
42
|
+
dependent_agents: []
|
|
43
|
+
reactivation_hint: "Skill curation is opt-in via /settings/self-learning. Re-enable from /agents/skill-curation."
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
# Skill Curation
|
|
47
|
+
|
|
48
|
+
Built-in routine — opt-in via `/settings/self-learning`. The execution runs in
|
|
49
|
+
the optimizer workdir (`dispatcher-scheduled-tasks.ts`, P22 §3.4) against the
|
|
50
|
+
`/api/skill-curation/*` surface and the `agent-assets/optimizer-skills/skill-curation`
|
|
51
|
+
assets; there is no `task-flows/routine.skill_curation.md`. The scheduler gates
|
|
52
|
+
firing on `isSkillCurationEnabled(db)` and the configured cadence.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
# ── Identity ─────────────────────────────────────────────────────────────────
|
|
3
|
+
slug: user-profile-sweep-evening
|
|
4
|
+
name: User Profile Sweep (Evening)
|
|
5
|
+
description: "Refreshes identity/profile.md from the day's DM traffic shortly before the evening review."
|
|
6
|
+
kind: builtin
|
|
7
|
+
version: 1
|
|
8
|
+
enabled: true
|
|
9
|
+
tags: [routine, profile, sweep, evening]
|
|
10
|
+
|
|
11
|
+
# ── Schedule (17:50 — 10 min before Evening Review at 18:00) ────────────────
|
|
12
|
+
schedule:
|
|
13
|
+
kind: cron
|
|
14
|
+
expression: "50 17 * * *"
|
|
15
|
+
|
|
16
|
+
# ── Backend / routing (tier/model deferred to process_backend_config) ───────
|
|
17
|
+
backend:
|
|
18
|
+
process_key: routine.user_profile_sweep
|
|
19
|
+
tier: null
|
|
20
|
+
model: null
|
|
21
|
+
|
|
22
|
+
# ── Limits (per execution; minimal-tools background pass) ───────────────────
|
|
23
|
+
limits:
|
|
24
|
+
max_turns: 15
|
|
25
|
+
max_budget_usd: 0.20
|
|
26
|
+
timeout_minutes: 8
|
|
27
|
+
|
|
28
|
+
# ── Expected outputs ─────────────────────────────────────────────────────────
|
|
29
|
+
outputs:
|
|
30
|
+
- identity/profile.md
|
|
31
|
+
- "identity/<topic>.md"
|
|
32
|
+
|
|
33
|
+
success_criteria: []
|
|
34
|
+
|
|
35
|
+
# ── Stop warning (byte-identical to BUILTIN_AGENT_REGISTRY, §12.1) ──────────
|
|
36
|
+
stop_warning:
|
|
37
|
+
level: normal
|
|
38
|
+
services_lost:
|
|
39
|
+
- "Pre-evening user/profile.md refresh from the day's DM traffic"
|
|
40
|
+
dependent_agents:
|
|
41
|
+
- evening-review
|
|
42
|
+
reactivation_hint: "Re-enable from /agents/user-profile-sweep-evening. Runs 10 min before Evening Review."
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
# User Profile Sweep (Evening)
|
|
46
|
+
|
|
47
|
+
Built-in routine — the execution prompt lives in the task-flow, not here.
|
|
48
|
+
See `agent-assets/task-flows/routine.user_profile_sweep.md` (phase: evening).
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
# ── Identity ─────────────────────────────────────────────────────────────────
|
|
3
|
+
slug: user-profile-sweep-morning
|
|
4
|
+
name: User Profile Sweep (Morning)
|
|
5
|
+
description: "Refreshes identity/profile.md from the day's DM traffic shortly before the day boundary, ahead of the morning routine."
|
|
6
|
+
kind: builtin
|
|
7
|
+
version: 1
|
|
8
|
+
enabled: true
|
|
9
|
+
tags: [routine, profile, sweep, morning]
|
|
10
|
+
|
|
11
|
+
# ── Schedule ─────────────────────────────────────────────────────────────────
|
|
12
|
+
# `{dayBoundaryHour-1}` resolves to the hour before the day boundary
|
|
13
|
+
# (default 4 → "50 3 * * *"), i.e. 10 min before Morning Routine at 04:00.
|
|
14
|
+
schedule:
|
|
15
|
+
kind: cron
|
|
16
|
+
expression: "50 {dayBoundaryHour-1} * * *"
|
|
17
|
+
|
|
18
|
+
# ── Backend / routing (tier/model deferred to process_backend_config) ───────
|
|
19
|
+
backend:
|
|
20
|
+
process_key: routine.user_profile_sweep
|
|
21
|
+
tier: null
|
|
22
|
+
model: null
|
|
23
|
+
|
|
24
|
+
# ── Limits (per execution; minimal-tools background pass) ───────────────────
|
|
25
|
+
limits:
|
|
26
|
+
max_turns: 15
|
|
27
|
+
max_budget_usd: 0.20
|
|
28
|
+
timeout_minutes: 8
|
|
29
|
+
|
|
30
|
+
# ── Expected outputs ─────────────────────────────────────────────────────────
|
|
31
|
+
# Writes are silent and idempotent (no user-visible output, no /api/notify).
|
|
32
|
+
# profile.md pre-exists and is appended/patched, so file presence is not a
|
|
33
|
+
# meaningful per-run signal — documented here, no criterion asserted.
|
|
34
|
+
outputs:
|
|
35
|
+
- identity/profile.md
|
|
36
|
+
- "identity/<topic>.md"
|
|
37
|
+
|
|
38
|
+
success_criteria: []
|
|
39
|
+
|
|
40
|
+
# ── Stop warning (byte-identical to BUILTIN_AGENT_REGISTRY, §12.1) ──────────
|
|
41
|
+
stop_warning:
|
|
42
|
+
level: normal
|
|
43
|
+
services_lost:
|
|
44
|
+
- "Pre-morning user/profile.md refresh from the day's DM traffic"
|
|
45
|
+
dependent_agents:
|
|
46
|
+
- morning-routine
|
|
47
|
+
reactivation_hint: "Re-enable from /agents/user-profile-sweep-morning. Runs 10 min before the day boundary."
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
# User Profile Sweep (Morning)
|
|
51
|
+
|
|
52
|
+
Built-in routine — the execution prompt lives in the task-flow, not here.
|
|
53
|
+
See `agent-assets/task-flows/routine.user_profile_sweep.md` (phase: morning).
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
# ── Identity ─────────────────────────────────────────────────────────────────
|
|
3
|
+
slug: weekly-review
|
|
4
|
+
name: Weekly Review
|
|
5
|
+
description: "Writes the weekly synthesis note and reviews the roadmap every Friday evening."
|
|
6
|
+
kind: builtin
|
|
7
|
+
version: 1
|
|
8
|
+
enabled: true
|
|
9
|
+
tags: [routine, weekly, journal]
|
|
10
|
+
|
|
11
|
+
# ── Schedule (Friday 19:00) ──────────────────────────────────────────────────
|
|
12
|
+
schedule:
|
|
13
|
+
kind: cron
|
|
14
|
+
expression: "0 19 * * 5"
|
|
15
|
+
|
|
16
|
+
# ── Backend / routing (tier/model deferred to process_backend_config) ───────
|
|
17
|
+
backend:
|
|
18
|
+
process_key: routine.weekly_review
|
|
19
|
+
tier: null
|
|
20
|
+
model: null
|
|
21
|
+
|
|
22
|
+
# ── Limits (per execution) ───────────────────────────────────────────────────
|
|
23
|
+
limits:
|
|
24
|
+
max_turns: 30
|
|
25
|
+
max_budget_usd: 0.50
|
|
26
|
+
timeout_minutes: 15
|
|
27
|
+
|
|
28
|
+
# ── Expected outputs ─────────────────────────────────────────────────────────
|
|
29
|
+
# The synthesis note is keyed on the ISO week (`journal/weekly/YYYY-Www.md`),
|
|
30
|
+
# which the `{date}`-only success-criteria evaluator cannot target in v1, so it
|
|
31
|
+
# is documented here rather than asserted as a criterion.
|
|
32
|
+
outputs:
|
|
33
|
+
- "journal/weekly/{week}.md"
|
|
34
|
+
- plans/roadmap.md
|
|
35
|
+
|
|
36
|
+
success_criteria: []
|
|
37
|
+
|
|
38
|
+
# ── Stop warning (byte-identical to BUILTIN_AGENT_REGISTRY, §12.1) ──────────
|
|
39
|
+
stop_warning:
|
|
40
|
+
level: high
|
|
41
|
+
services_lost:
|
|
42
|
+
- "Weekly synthesis note (journal/weekly/{week}.md)"
|
|
43
|
+
- "Weekly roadmap review"
|
|
44
|
+
dependent_agents: []
|
|
45
|
+
reactivation_hint: "Re-enable from /agents/weekly-review. Resumes on the next Friday 19:00 firing."
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
# Weekly Review
|
|
49
|
+
|
|
50
|
+
Built-in routine — the execution prompt lives in the task-flow, not here.
|
|
51
|
+
See `agent-assets/task-flows/routine.weekly_review.md`.
|
|
@@ -15,26 +15,32 @@ summary: |
|
|
|
15
15
|
section: agent-day
|
|
16
16
|
tags:
|
|
17
17
|
- core
|
|
18
|
-
- timing
|
|
19
18
|
- memory
|
|
19
|
+
- routines
|
|
20
|
+
- scheduler
|
|
20
21
|
status: stable
|
|
21
22
|
ask_examples:
|
|
22
23
|
- When does the agent day actually roll over?
|
|
23
24
|
- Why is my late-night work showing up under yesterday?
|
|
24
25
|
- How do I change the day boundary?
|
|
26
|
+
- What is dayBoundaryHour?
|
|
25
27
|
locale: en-US
|
|
26
28
|
created: 2026-04-25
|
|
27
|
-
updated: 2026-
|
|
29
|
+
updated: 2026-05-28
|
|
28
30
|
keywords:
|
|
29
31
|
- day boundary
|
|
30
32
|
- 04:00
|
|
31
33
|
- dayBoundaryHour
|
|
32
34
|
- rollover
|
|
35
|
+
- agent day
|
|
36
|
+
- getAgentDayBoundsUtc
|
|
37
|
+
- getAgentDayDateStr
|
|
33
38
|
related:
|
|
34
39
|
- features/routines/morning-routine
|
|
35
40
|
- features/memory-files/today
|
|
36
41
|
ui_anchors:
|
|
37
42
|
- /settings
|
|
43
|
+
- /settings/schedule
|
|
38
44
|
config_keys:
|
|
39
45
|
- dayBoundaryHour
|
|
40
46
|
---
|
|
@@ -45,7 +51,7 @@ config_keys:
|
|
|
45
51
|
|
|
46
52
|
Aitne treats the "day" as starting at **04:00 local time**, not
|
|
47
53
|
00:00. Anything you log between midnight and 4am is filed under the day
|
|
48
|
-
that just ended, so a late commit at 02:30 lands in the same `today.md`
|
|
54
|
+
that just ended, so a late commit at 02:30 lands in the same `state/today.md`
|
|
49
55
|
that opened the previous morning.
|
|
50
56
|
|
|
51
57
|
## Why This Concept Exists
|
|
@@ -53,7 +59,7 @@ that opened the previous morning.
|
|
|
53
59
|
Owner-as-user installations almost always have late-night work sessions
|
|
54
60
|
that, mentally, belong to "today" even though the wall-clock has already
|
|
55
61
|
ticked over. A day boundary at midnight would split a single coherent
|
|
56
|
-
working session across two `today.md` files, and the morning routine
|
|
62
|
+
working session across two `state/today.md` files, and the morning routine
|
|
57
63
|
would open against an empty schedule because no agent activity had been
|
|
58
64
|
logged for the new calendar day yet.
|
|
59
65
|
|
|
@@ -64,25 +70,26 @@ clean boundary before they start.
|
|
|
64
70
|
## Definitions
|
|
65
71
|
|
|
66
72
|
- **Agent day**: the 24-hour window starting at the configured day-boundary hour and ending at the same hour the next calendar day.
|
|
67
|
-
- **Day boundary**: the hour-of-day that starts the agent day. Configured via the `dayBoundaryHour` setting (default `4`).
|
|
68
|
-
- **Day-stamped file**: any file whose name includes `YYYY-MM-DD` (e.g. `daily/2026-04-25.md`, `weekly/2026-04-20.md`). The date stamp uses the agent-day boundary, not the calendar day.
|
|
73
|
+
- **Day boundary**: the hour-of-day that starts the agent day. Configured via the `dayBoundaryHour` setting (default `4`, valid range `0`–`9`). Values above 9 are rejected — the boundary is intended for the small hours, not mid-day.
|
|
74
|
+
- **Day-stamped file**: any file whose name includes `YYYY-MM-DD` (e.g. `journal/daily/2026-04-25.md`, `journal/weekly/2026-04-20.md`). The date stamp uses the agent-day boundary, not the calendar day.
|
|
69
75
|
|
|
70
76
|
## Concrete Examples
|
|
71
77
|
|
|
72
78
|
| Wall-clock time | Calendar date | Agent day |
|
|
73
79
|
|---|---|---|
|
|
74
|
-
| 2026-04-25 02:30 | April 25 | April 24 (
|
|
75
|
-
| 2026-04-25 04:30 | April 25 | April 25 |
|
|
76
|
-
| 2026-04-25 23:50 | April 25 | April 25 |
|
|
77
|
-
| 2026-04-26 03:55 | April 26 | April 25 (
|
|
80
|
+
| 2026-04-25 02:30 | April 25 | April 24 (before boundary) |
|
|
81
|
+
| 2026-04-25 04:30 | April 25 | April 25 (after boundary) |
|
|
82
|
+
| 2026-04-25 23:50 | April 25 | April 25 (normal) |
|
|
83
|
+
| 2026-04-26 03:55 | April 26 | April 25 (before boundary) |
|
|
78
84
|
|
|
79
85
|
## Where You See It in the Dashboard
|
|
80
86
|
|
|
81
87
|
- The Schedule view labels each day's column by **agent day**, so a 02:30 calendar entry appears under the previous day's header.
|
|
82
88
|
- Activity → Conversations groups sessions by agent day for the same reason.
|
|
83
89
|
- Cost analytics roll up by agent day so a late-night research binge does not split into two separate "days" of spend.
|
|
90
|
+
- To change the boundary, open **Settings → Schedule** (`/settings/schedule`) and edit the day-boundary hour.
|
|
84
91
|
|
|
85
92
|
## Related
|
|
86
93
|
|
|
87
|
-
- [Morning Routine](../features/routines/morning-routine.md) opens
|
|
94
|
+
- [Morning Routine](../features/routines/morning-routine.md) opens shortly after the day boundary as part of the morning routine, not at midnight.
|
|
88
95
|
- [today.md](../features/memory-files/today.md) is rebuilt once per agent day, anchored on the boundary.
|
|
@@ -7,6 +7,8 @@ aliases:
|
|
|
7
7
|
- auth probe
|
|
8
8
|
- auth recovery
|
|
9
9
|
- credentials
|
|
10
|
+
- auth health monitor
|
|
11
|
+
- subscription auth warning
|
|
10
12
|
category: concepts
|
|
11
13
|
summary: |
|
|
12
14
|
The auth-health monitor probes each backend's credentials at startup
|
|
@@ -17,26 +19,43 @@ tags:
|
|
|
17
19
|
- core
|
|
18
20
|
- safety
|
|
19
21
|
- backends
|
|
22
|
+
- operations
|
|
23
|
+
- health
|
|
20
24
|
status: stable
|
|
21
25
|
ask_examples:
|
|
22
26
|
- Why is the dashboard showing a degraded backend?
|
|
23
27
|
- How does the agent check that I'm still logged in to Claude?
|
|
24
28
|
- What happens when my Codex token expires?
|
|
29
|
+
- What is the SubscriptionAuthWarning banner?
|
|
25
30
|
locale: en-US
|
|
26
31
|
created: 2026-04-25
|
|
27
|
-
updated: 2026-05-
|
|
32
|
+
updated: 2026-05-28
|
|
28
33
|
keywords:
|
|
29
34
|
- auth
|
|
35
|
+
- authentication
|
|
30
36
|
- credentials
|
|
31
37
|
- probe
|
|
32
38
|
- degraded
|
|
39
|
+
- auth health monitor
|
|
40
|
+
- auth recovery
|
|
41
|
+
- api-key-probe
|
|
42
|
+
- SubscriptionAuthWarning
|
|
33
43
|
related:
|
|
34
44
|
- concepts/backends-and-tiers
|
|
35
45
|
- concepts/costs-and-quotas
|
|
36
46
|
- troubleshooting/auth-failed
|
|
47
|
+
ui_anchors:
|
|
48
|
+
- /settings/models
|
|
49
|
+
- /
|
|
37
50
|
config_keys:
|
|
38
51
|
- authProbeDisabled
|
|
39
52
|
- authPreflightFreshnessMs
|
|
53
|
+
api_endpoints:
|
|
54
|
+
- POST /api/backends/:backendId/check-auth
|
|
55
|
+
- POST /api/backends/:backendId/recovery/start
|
|
56
|
+
- GET /api/backends/:backendId/recovery/status
|
|
57
|
+
- POST /api/backends/:backendId/recovery/code
|
|
58
|
+
- POST /api/backends/:backendId/recovery/cancel
|
|
40
59
|
---
|
|
41
60
|
|
|
42
61
|
# Auth Health
|
|
@@ -62,12 +81,21 @@ routine fails.
|
|
|
62
81
|
is live. Without an API key, the probe checks whatever local CLI
|
|
63
82
|
login Aitne fell back to (Claude credentials store, Codex token,
|
|
64
83
|
Gemini ADC).
|
|
65
|
-
- **Preflight freshness**: how long the daemon trusts a
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
84
|
+
- **Preflight freshness**: how long the daemon trusts a cached probe
|
|
85
|
+
result before the router consults the backend again. Controlled by
|
|
86
|
+
`authPreflightFreshnessMs` (default 600000 = 10 min). A cached
|
|
87
|
+
`expired`/`missing` status younger than this window makes the router
|
|
88
|
+
skip the main backend and route straight to fallback. Set to `0` to
|
|
89
|
+
disable the pre-flight check entirely.
|
|
90
|
+
- **Recovery**: backend-specific repair. The recommended path is always
|
|
91
|
+
re-pasting a paid API key on `/settings/models`. If you run on CLI
|
|
92
|
+
subscription auth instead, you can recover the login from the same
|
|
93
|
+
page: `/settings/models` exposes a recovery dialog that drives the
|
|
94
|
+
backend's own interactive login subprocess —
|
|
95
|
+
`claude auth login --claudeai` (browser OAuth), `codex login
|
|
96
|
+
--device-auth` (device code), or Gemini's direct OAuth flow. As a
|
|
97
|
+
manual fallback you can always re-run the backend's CLI login in a
|
|
98
|
+
terminal yourself.
|
|
71
99
|
|
|
72
100
|
## Concrete Examples
|
|
73
101
|
|
|
@@ -77,7 +105,9 @@ routine fails.
|
|
|
77
105
|
- Operator never registered an API key, ran on the subscription
|
|
78
106
|
fallback, and the underlying `claude` CLI session expired → probe
|
|
79
107
|
fails → card flips amber → recommended fix is to register an API
|
|
80
|
-
key on `/settings/models
|
|
108
|
+
key on `/settings/models`. To keep using subscription auth instead,
|
|
109
|
+
open the recovery dialog on the same page and complete the browser
|
|
110
|
+
OAuth login it launches.
|
|
81
111
|
|
|
82
112
|
Cloud-provider credentials (Bedrock / Vertex / Foundry / Azure
|
|
83
113
|
OpenAI / Gemini-Vertex) are not probed against a `models` endpoint —
|
|
@@ -85,7 +115,23 @@ those providers trust the SDK's runtime auth chain, so the auth-
|
|
|
85
115
|
health card stays neutral until the first execution either succeeds
|
|
86
116
|
or surfaces a runtime auth error.
|
|
87
117
|
|
|
118
|
+
## The "API key recommended" warning
|
|
119
|
+
|
|
120
|
+
Separate from probe failures, `/settings/models` (and the setup
|
|
121
|
+
wizard's AI Backends step) shows a standing **API-key-recommended**
|
|
122
|
+
warning whenever a backend has no registered key. Skipping the key
|
|
123
|
+
falls the daemon back to that backend's local CLI subscription login,
|
|
124
|
+
which most providers do not officially support for automated agents —
|
|
125
|
+
Anthropic in particular currently prohibits running the Claude Agent
|
|
126
|
+
SDK on a Claude Pro / Max subscription. The warning is advisory, not a
|
|
127
|
+
probe result: it stays visible while you are on the fallback so you can
|
|
128
|
+
register a paid key and leave the gray area.
|
|
129
|
+
|
|
88
130
|
## Related
|
|
89
131
|
|
|
90
|
-
- [Backends and Tiers](backends-and-tiers.md)
|
|
91
|
-
|
|
132
|
+
- [Backends and Tiers](backends-and-tiers.md) — tiers, models, and
|
|
133
|
+
fallback routing.
|
|
134
|
+
- [Costs and Quotas](costs-and-quotas.md) — how API-key billing and
|
|
135
|
+
quota signals interact.
|
|
136
|
+
- [Troubleshooting: Auth Failed](../troubleshooting/auth-failed.md) —
|
|
137
|
+
step-by-step recovery when a card goes red.
|