@aitne-sh/aitne 0.1.8 → 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 +218 -161
- package/agent-assets/agent-profiles/_safety.md +3 -3
- 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 +2 -2
- package/agent-assets/agent-profiles/routine-fetch-window.md +30 -19
- 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 +13 -11
- package/agent-assets/docs/concepts/auth-health.md +47 -10
- package/agent-assets/docs/concepts/backends-and-tiers.md +66 -31
- package/agent-assets/docs/concepts/costs-and-quotas.md +50 -15
- package/agent-assets/docs/concepts/delegated-mode.md +52 -13
- package/agent-assets/docs/concepts/memory-model.md +72 -32
- package/agent-assets/docs/concepts/observations.md +49 -11
- package/agent-assets/docs/concepts/process-keys.md +56 -22
- package/agent-assets/docs/concepts/routines.md +60 -33
- package/agent-assets/docs/concepts/safety-and-execution.md +50 -21
- package/agent-assets/docs/concepts/safety-model.md +42 -34
- package/agent-assets/docs/concepts/skills.md +33 -17
- package/agent-assets/docs/features/integrations/browser-history.md +195 -0
- package/agent-assets/docs/features/integrations/calendar.md +39 -29
- package/agent-assets/docs/features/integrations/git.md +18 -7
- package/agent-assets/docs/features/integrations/github.md +84 -33
- package/agent-assets/docs/features/integrations/mail.md +59 -16
- package/agent-assets/docs/features/integrations/notion.md +18 -6
- package/agent-assets/docs/features/integrations/obsidian.md +28 -5
- package/agent-assets/docs/features/lifestyle/git.md +42 -38
- package/agent-assets/docs/features/lifestyle/reading.md +50 -22
- package/agent-assets/docs/features/lifestyle/receipts.md +51 -21
- package/agent-assets/docs/features/lifestyle/travel-bookings.md +76 -14
- package/agent-assets/docs/features/memory-files/agent-journal.md +111 -50
- package/agent-assets/docs/features/memory-files/projects.md +71 -17
- package/agent-assets/docs/features/memory-files/roadmap.md +50 -10
- package/agent-assets/docs/features/memory-files/schedule.md +113 -70
- package/agent-assets/docs/features/memory-files/today.md +46 -21
- package/agent-assets/docs/features/memory-files/user-profile.md +63 -33
- package/agent-assets/docs/features/messaging/bang-commands.md +113 -36
- package/agent-assets/docs/features/messaging/dashboard-chat.md +43 -21
- package/agent-assets/docs/features/messaging/discord.md +35 -4
- package/agent-assets/docs/features/messaging/overview.md +37 -19
- package/agent-assets/docs/features/messaging/pairing-and-magic-phrase.md +94 -27
- package/agent-assets/docs/features/messaging/slack.md +67 -14
- package/agent-assets/docs/features/messaging/telegram.md +18 -5
- package/agent-assets/docs/features/messaging/whatsapp.md +71 -17
- package/agent-assets/docs/features/operations/activity-and-conversations.md +44 -15
- package/agent-assets/docs/features/operations/approvals.md +48 -16
- package/agent-assets/docs/features/operations/backend-routing.md +68 -16
- package/agent-assets/docs/features/operations/cost-tracking.md +84 -17
- package/agent-assets/docs/features/operations/managed-chromium.md +221 -0
- package/agent-assets/docs/features/operations/notifications.md +52 -11
- package/agent-assets/docs/features/operations/quiet-hours.md +63 -40
- package/agent-assets/docs/features/operations/schedule-approaching.md +54 -24
- package/agent-assets/docs/features/routines/custom-routines.md +88 -20
- package/agent-assets/docs/features/routines/evening-review.md +74 -21
- package/agent-assets/docs/features/routines/hourly-check.md +149 -29
- package/agent-assets/docs/features/routines/morning-routine.md +53 -35
- package/agent-assets/docs/features/routines/weekly-review.md +40 -21
- package/agent-assets/docs/features/wiki/commands.md +26 -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 +68 -10
- 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 +34 -23
- package/agent-assets/docs/getting-started/02-first-steps.md +13 -8
- package/agent-assets/docs/getting-started/03-what-can-this-do.md +25 -14
- package/agent-assets/docs/getting-started/04-first-day.md +38 -20
- package/agent-assets/docs/glossary.md +235 -24
- package/agent-assets/docs/guides/add-a-custom-routine.md +63 -23
- package/agent-assets/docs/guides/backup-and-restore.md +80 -16
- package/agent-assets/docs/guides/budget-and-cost-for-wiki.md +56 -25
- package/agent-assets/docs/guides/build-your-wiki.md +22 -9
- package/agent-assets/docs/guides/change-which-model-handles-x.md +64 -10
- package/agent-assets/docs/guides/connect-a-new-mail-account.md +64 -15
- package/agent-assets/docs/guides/explore-with-trace-and-connect.md +28 -11
- package/agent-assets/docs/guides/import-knowledge-file.md +50 -40
- package/agent-assets/docs/guides/install-and-run.md +48 -19
- package/agent-assets/docs/guides/maintain-wiki-health.md +35 -10
- package/agent-assets/docs/guides/migrate-machines.md +74 -18
- package/agent-assets/docs/guides/multiple-wikis-for-multiple-domains.md +111 -60
- package/agent-assets/docs/guides/pause-the-agent.md +65 -24
- package/agent-assets/docs/guides/reinstall-cleanly.md +88 -18
- package/agent-assets/docs/guides/setup-wizard.md +113 -54
- package/agent-assets/docs/guides/switch-default-backend.md +62 -16
- package/agent-assets/docs/guides/use-an-existing-obsidian-vault.md +26 -10
- package/agent-assets/docs/reference/api.md +143 -32
- package/agent-assets/docs/reference/cli-commands.md +38 -17
- package/agent-assets/docs/reference/config.md +224 -49
- package/agent-assets/docs/reference/disallowed-tools.md +29 -10
- package/agent-assets/docs/reference/keyboard-shortcuts.md +34 -10
- package/agent-assets/docs/reference/knowledge-layout.md +620 -0
- package/agent-assets/docs/reference/process-keys.md +61 -5
- package/agent-assets/docs/reference/skills.md +38 -12
- package/agent-assets/docs/troubleshooting/auth-failed.md +48 -19
- package/agent-assets/docs/troubleshooting/dashboard-shows-degraded.md +90 -28
- package/agent-assets/docs/troubleshooting/fallback-keeps-firing.md +86 -22
- package/agent-assets/docs/troubleshooting/messaging-not-pairing.md +68 -24
- package/agent-assets/docs/troubleshooting/morning-routine-didnt-run.md +80 -20
- package/agent-assets/docs/troubleshooting/observation-not-detected.md +73 -21
- package/agent-assets/docs/troubleshooting/quota-exhausted.md +29 -5
- package/agent-assets/docs/troubleshooting/wiki-ingest-full-blocked.md +126 -54
- package/agent-assets/docs/troubleshooting/wiki-write-failed.md +29 -12
- 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 +1 -1
- 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 +2 -2
- package/agent-assets/skills/agent-create/SKILL.md +149 -0
- package/agent-assets/skills/attach/SKILL.md +2 -2
- 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 +12 -12
- package/agent-assets/skills/context/curation.json +2 -2
- package/agent-assets/skills/context/references/api.md +43 -31
- package/agent-assets/skills/context/references/required-frontmatter.md +3 -3
- package/agent-assets/skills/context/references/snapshot-files.md +6 -6
- package/agent-assets/skills/context/seeds/file-responsibilities.seed.json +3 -3
- package/agent-assets/skills/docs-search/SKILL.md +4 -3
- package/agent-assets/skills/external-services/SKILL.delegated.claude.md +11 -21
- package/agent-assets/skills/external-services/SKILL.delegated.codex.md +11 -21
- package/agent-assets/skills/external-services/SKILL.delegated.gemini.md +11 -21
- package/agent-assets/skills/external-services/SKILL.md +3 -3
- package/agent-assets/skills/external-services/SKILL.native.claude.md +5 -5
- package/agent-assets/skills/external-services/SKILL.native.codex.md +7 -7
- package/agent-assets/skills/external-services/SKILL.native.gemini.md +4 -4
- package/agent-assets/skills/external-services/references/calendar-apple.md +2 -2
- package/agent-assets/skills/external-services/references/calendar-outlook.md +1 -1
- package/agent-assets/skills/external-services/references/obsidian.md +2 -2
- package/agent-assets/skills/gmail-lifestyle/SKILL.md +9 -82
- package/agent-assets/skills/mail/SKILL.delegated.claude.md +14 -5
- package/agent-assets/skills/mail/SKILL.delegated.codex.md +8 -4
- package/agent-assets/skills/mail/SKILL.delegated.gemini.md +8 -4
- package/agent-assets/skills/mail/references/api.md +4 -2
- package/agent-assets/skills/mail/references/providers.md +1 -1
- package/agent-assets/skills/managed-tasks/SKILL.md +9 -9
- package/agent-assets/skills/managed-tasks/references/errors.md +9 -6
- package/agent-assets/skills/managed-tasks/references/recurrence-rule.md +1 -1
- package/agent-assets/skills/management-policy/SKILL.md +32 -31
- package/agent-assets/skills/management-policy/curation.json +1 -1
- package/agent-assets/skills/management-policy/references/policy-workflow.md +9 -9
- package/agent-assets/skills/management-policy/seeds/policy-file-shape.seed.json +1 -1
- package/agent-assets/skills/notify/SKILL.md +4 -4
- package/agent-assets/skills/notify/references/priority.md +9 -4
- 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.native.claude.md +10 -6
- package/agent-assets/skills/notion/SKILL.native.codex.md +9 -4
- package/agent-assets/skills/notion/SKILL.native.gemini.md +9 -4
- package/agent-assets/skills/observations/SKILL.md +24 -8
- package/agent-assets/skills/project-doc/SKILL.md +1 -1
- 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 +10 -0
- package/agent-assets/skills/reading/references/reading-taste.md +2 -2
- package/agent-assets/skills/roadmap/SKILL.md +5 -5
- package/agent-assets/skills/roadmap/curation.json +1 -1
- package/agent-assets/skills/roadmap/references/api.md +7 -7
- package/agent-assets/skills/roadmap/references/cross-check.md +15 -8
- package/agent-assets/skills/roadmap/references/migration.md +4 -4
- package/agent-assets/skills/roadmap/seeds/entry-types.seed.json +1 -1
- package/agent-assets/skills/schedule/SKILL.md +42 -34
- package/agent-assets/skills/schedule/references/batch.md +2 -2
- package/agent-assets/skills/schedule/references/errors.md +7 -4
- package/agent-assets/skills/schedule/references/model-selection.md +3 -3
- package/agent-assets/skills/schedule/references/recurrence-rule.md +1 -1
- package/agent-assets/skills/scheduled-managed-task/SKILL.md +46 -36
- package/agent-assets/skills/today/SKILL.md +9 -9
- package/agent-assets/skills/today/curation.json +3 -3
- package/agent-assets/skills/today/references/agent-plan-lifecycle.md +6 -5
- package/agent-assets/skills/today/seeds/section-shape.seed.json +1 -1
- package/agent-assets/skills/user-interview/SKILL.md +12 -9
- package/agent-assets/skills/user-interview/references/op-briefing.md +2 -2
- package/agent-assets/skills/user-interview/references/sweep-and-fallback.md +8 -0
- package/agent-assets/skills/user-profile/SKILL.md +17 -17
- package/agent-assets/skills/user-profile/curation.json +2 -2
- package/agent-assets/skills/user-profile/references/character-preferences.md +2 -2
- package/agent-assets/skills/user-profile/seeds/routing-table.seed.json +8 -8
- package/agent-assets/skills/user-profile/seeds/topic-files.seed.json +6 -6
- package/agent-assets/skills/wiki/wiki-compile/SKILL.md +4 -4
- package/agent-assets/system-prompts/routine-fetch-window.md +22 -12
- package/agent-assets/task-flows/_partials/calendar-acquire.google_calendar.md +4 -2
- package/agent-assets/task-flows/_partials/calendar-acquire.outlook_calendar.md +4 -2
- package/agent-assets/task-flows/_partials/capture-user-info.md +2 -2
- package/agent-assets/task-flows/_partials/dm-intent.long-horizon.md +1 -1
- package/agent-assets/task-flows/_partials/dm-intent.project.md +9 -9
- package/agent-assets/task-flows/_partials/mail-acquire.outlook_mail.md +3 -2
- package/agent-assets/task-flows/_partials/notion-acquire.notion.md +10 -5
- 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 +14 -14
- package/agent-assets/task-flows/message.received.dm.md +9 -4
- package/agent-assets/task-flows/message.received.dm_first.md +3 -3
- package/agent-assets/task-flows/routine.custom.md +3 -3
- package/agent-assets/task-flows/routine.evening_review.md +8 -8
- package/agent-assets/task-flows/routine.fetch_window.md +2 -2
- package/agent-assets/task-flows/routine.hourly_check.md +16 -12
- package/agent-assets/task-flows/routine.monthly_review.md +21 -21
- package/agent-assets/task-flows/routine.morning_routine_journal.md +119 -97
- package/agent-assets/task-flows/routine.morning_routine_today.md +43 -43
- 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 +10 -10
- package/agent-assets/task-flows/routine.today_refresh.md +4 -4
- package/agent-assets/task-flows/routine.user_profile_sweep.md +10 -10
- package/agent-assets/task-flows/routine.weekly_review.md +93 -24
- package/agent-assets/task-flows/schedule.approaching.md +0 -1
- package/agent-assets/task-flows/scheduled.dm.md +5 -5
- package/agent-assets/task-flows/scheduled.task.md +4 -4
- package/agent-assets/task-flows/setup.initial.md +21 -21
- package/agent-assets/task-flows/setup.update.md +2 -2
- 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/{user → identity}/profile.md +2 -2
- package/agent-assets/templates/{dossiers → knowledge/dossiers}/_index.md +1 -1
- 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/{rules → policies}/journal-format.md +5 -5
- 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 +13 -4
- package/package.json +5 -4
- package/scripts/commands/doctor.mjs +14 -8
- package/scripts/commands/run-now.mjs +6 -21
- 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 -58
- package/agent-assets/skills/gmail-lifestyle/references/travel-time-api.md +0 -59
- package/agent-assets/skills/schedule/references/recurring.md +0 -185
- package/agent-assets/templates/context-index.md +0 -42
- package/agent-assets/templates/rules/_index.md +0 -19
- /package/agent-assets/templates/{user → identity}/expertise.md +0 -0
- /package/agent-assets/templates/{user → identity}/goals.md +0 -0
- /package/agent-assets/templates/{user → identity}/people.md +0 -0
- /package/agent-assets/templates/{user → identity}/personal.md +0 -0
- /package/agent-assets/templates/{user → identity}/work.md +0 -0
- /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
|
@@ -12,19 +12,20 @@ aliases:
|
|
|
12
12
|
- on-demand retrospective
|
|
13
13
|
category: concepts
|
|
14
14
|
summary: |
|
|
15
|
-
Aitne's
|
|
16
|
-
actions run autonomously, a small set of posture-changing
|
|
17
|
-
require explicit Approve. The previous Notify tier (DM the
|
|
18
|
-
before / during a write) was abolished — the operator's
|
|
19
|
-
list is now the primary defense, and "what did the
|
|
20
|
-
answered on demand via `GET /api/agent/actions` instead
|
|
21
|
-
a daily digest.
|
|
15
|
+
Aitne's risk classifier dropped from three write tiers to two: most
|
|
16
|
+
actions run autonomously, and a small set of posture-changing
|
|
17
|
+
operations require explicit Approve. The previous Notify tier (DM the
|
|
18
|
+
operator before / during a write) was abolished — the operator's
|
|
19
|
+
`deniedTools` list is now the primary defense, and "what did the
|
|
20
|
+
agent do?" is answered on demand via `GET /api/agent/actions` instead
|
|
21
|
+
of pushed as a daily digest. (The read-gating `ReadSensitive` tier is
|
|
22
|
+
unchanged.)
|
|
22
23
|
section: safety
|
|
23
24
|
tags:
|
|
24
25
|
- core
|
|
25
26
|
- safety
|
|
26
27
|
- integrations
|
|
27
|
-
-
|
|
28
|
+
- audit
|
|
28
29
|
status: stable
|
|
29
30
|
ask_examples:
|
|
30
31
|
- Why doesn't the agent ask before sending an email anymore?
|
|
@@ -33,7 +34,7 @@ ask_examples:
|
|
|
33
34
|
- Where do I see what the agent has been doing?
|
|
34
35
|
locale: en-US
|
|
35
36
|
created: 2026-04-26
|
|
36
|
-
updated: 2026-05-
|
|
37
|
+
updated: 2026-05-28
|
|
37
38
|
keywords:
|
|
38
39
|
- deniedTools
|
|
39
40
|
- safety floor
|
|
@@ -50,10 +51,16 @@ related:
|
|
|
50
51
|
- reference/disallowed-tools
|
|
51
52
|
ui_anchors:
|
|
52
53
|
- /connections
|
|
53
|
-
- /
|
|
54
|
-
|
|
55
|
-
-
|
|
56
|
-
|
|
54
|
+
- /connections/mail
|
|
55
|
+
- /connections/calendar
|
|
56
|
+
- /analytics
|
|
57
|
+
api_endpoints:
|
|
58
|
+
- GET /api/agent/actions
|
|
59
|
+
- POST /api/integrations/:key/exec
|
|
60
|
+
- PATCH /api/integrations/:key
|
|
61
|
+
context_files:
|
|
62
|
+
- policies/integrations.md
|
|
63
|
+
- journal/agent.md
|
|
57
64
|
---
|
|
58
65
|
|
|
59
66
|
# Safety Model (deniedTools + Approve Tier)
|
|
@@ -123,12 +130,9 @@ of "report to me" events. Information about what the agent did is
|
|
|
123
130
|
bare `*`.
|
|
124
131
|
- **`/api/integrations/:key/exec`** — the cross-backend chokepoint
|
|
125
132
|
(task mode; the RPC-style `/invoke` route was retired 2026-05-01,
|
|
126
|
-
see `docs/design/17-delegated-mode-v2.md` §4.2).
|
|
127
|
-
server-side
|
|
128
|
-
|
|
129
|
-
task-mode planner can only pick from the allowed surface. A
|
|
130
|
-
fully-denied surface short-circuits with `errorClass: "denied_tool"`
|
|
131
|
-
before any subprocess spawn.
|
|
133
|
+
see `docs/design/17-delegated-mode-v2.md` §4.2). It enforces
|
|
134
|
+
`deniedTools` server-side — see the *Where the Defenses Apply* table
|
|
135
|
+
below for the exact mechanism.
|
|
132
136
|
- **`agent_actions`** — SQLite table of every agent action. Direct +
|
|
133
137
|
cross-backend rows are full-fidelity (current cross-backend writes
|
|
134
138
|
emit `delegated_task.run` / `delegated_task.exec` /
|
|
@@ -227,12 +231,15 @@ and answers in conversation. The endpoint:
|
|
|
227
231
|
|
|
228
232
|
- Lives at `Autonomous` tier — the agent reads only its own audit
|
|
229
233
|
trail, no operator data.
|
|
230
|
-
- Accepts `since
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
-
|
|
235
|
-
|
|
234
|
+
- Accepts `since` (ISO-8601; defaults to the last 24h if omitted),
|
|
235
|
+
`kind` (an `action_type` filter — repeat for multiple values, e.g.
|
|
236
|
+
`?kind=a&kind=b`), and `limit` (default 50, max 200).
|
|
237
|
+
- Redacts the free-text `error` / `detail` fields via the standard
|
|
238
|
+
secret-redaction utility before serializing.
|
|
239
|
+
- Returns rows from `agent_actions` only. Same-backend / native MCP
|
|
240
|
+
calls surface as their own `action_type` rows (e.g. `kind=mcp`);
|
|
241
|
+
the per-call detail lives in `mcp_tool_calls`, which this endpoint
|
|
242
|
+
does not join — query it separately if you need step-level fidelity.
|
|
236
243
|
|
|
237
244
|
Common `kind` values for the cross-backend proxy: `delegated_task.run`
|
|
238
245
|
(one row per `/exec` call), `delegated_task.exec` (the planner's
|
|
@@ -248,7 +255,7 @@ This **replaces** the rejected daily-digest pattern. Reasons:
|
|
|
248
255
|
- The operator does not have to manage the agent's reporting calendar.
|
|
249
256
|
|
|
250
257
|
The optional fallback — extending the existing morning routine to
|
|
251
|
-
summarize yesterday's `agent_actions` into `agent
|
|
258
|
+
summarize yesterday's `agent_actions` into `journal/agent.md` — is
|
|
252
259
|
deferred until the on-demand path proves insufficient.
|
|
253
260
|
|
|
254
261
|
## What Stayed Approve-Tier
|
|
@@ -268,15 +275,16 @@ Approve still gates:
|
|
|
268
275
|
|
|
269
276
|
## Where You See It in the Dashboard
|
|
270
277
|
|
|
271
|
-
- **Connections → \<integration\> → Tool Permissions**
|
|
278
|
+
- **Connections → \<integration\> → Tool Permissions**
|
|
279
|
+
(e.g. `/connections/mail`, `/connections/calendar`) — the
|
|
272
280
|
`deniedTools` editor with the starter list pre-populated. Above the
|
|
273
|
-
editor, the safety guidance prose explains each entry and which
|
|
274
|
-
|
|
275
|
-
- **
|
|
276
|
-
invocations show here
|
|
277
|
-
session.
|
|
278
|
-
- **Activity
|
|
279
|
-
the same
|
|
281
|
+
editor, the safety guidance prose explains each entry and which ones
|
|
282
|
+
are recommended to keep.
|
|
283
|
+
- **Analytics** (`/analytics`) — spend and the delegated-task facet;
|
|
284
|
+
only cross-backend invocations show here, while same-backend MCP
|
|
285
|
+
rolls up under the parent session.
|
|
286
|
+
- **Activity** (`/activity`) — every action with full attribution,
|
|
287
|
+
the same audit trail the agent reads via `GET /api/agent/actions`.
|
|
280
288
|
|
|
281
289
|
## Related
|
|
282
290
|
|
|
@@ -18,15 +18,17 @@ tags:
|
|
|
18
18
|
- skills
|
|
19
19
|
- safety
|
|
20
20
|
- knowledge
|
|
21
|
+
- backends
|
|
21
22
|
status: stable
|
|
22
23
|
ask_examples:
|
|
23
24
|
- What skills does the agent have?
|
|
24
25
|
- How do I add a new skill?
|
|
25
26
|
- Why does the agent refuse to run a tool?
|
|
26
27
|
- How does skill self-optimization work?
|
|
28
|
+
- Where do skill overlays live?
|
|
27
29
|
locale: en-US
|
|
28
30
|
created: 2026-04-25
|
|
29
|
-
updated: 2026-05-
|
|
31
|
+
updated: 2026-05-28
|
|
30
32
|
keywords:
|
|
31
33
|
- SKILL.md
|
|
32
34
|
- allowed-tools
|
|
@@ -45,6 +47,15 @@ ui_anchors:
|
|
|
45
47
|
- /knowledge
|
|
46
48
|
- /connections/mcp
|
|
47
49
|
- /settings/self-learning
|
|
50
|
+
process_keys:
|
|
51
|
+
- dashboard.docs_qa
|
|
52
|
+
- routine.skill_curation
|
|
53
|
+
config_keys:
|
|
54
|
+
- allowedToolsOverride
|
|
55
|
+
- disallowedTools
|
|
56
|
+
api_endpoints:
|
|
57
|
+
- GET /api/skills
|
|
58
|
+
- GET /api/skills/manifest/:processKey
|
|
48
59
|
---
|
|
49
60
|
|
|
50
61
|
# Skills
|
|
@@ -71,9 +82,11 @@ visible to the model.
|
|
|
71
82
|
|
|
72
83
|
- **SKILL.md**: the Markdown file that defines a single skill. Lives
|
|
73
84
|
under `agent-assets/skills/<slug>/SKILL.md` in the repo and is
|
|
74
|
-
materialized into each session workdir
|
|
75
|
-
|
|
76
|
-
|
|
85
|
+
materialized into each session workdir under a per-backend namespace —
|
|
86
|
+
`.claude/skills/<slug>/` for Claude, `.codex/skills/` for Codex,
|
|
87
|
+
`.gemini/skills/` for Gemini, and `.opencode/skills/` for OpenCode.
|
|
88
|
+
The frontmatter (`name`, `description`, `allowed-tools`) is byte-identical
|
|
89
|
+
across all four; only the destination directory changes.
|
|
77
90
|
- **`allowed-tools`**: a YAML list in the skill's frontmatter naming
|
|
78
91
|
tools and patterns the session may use. Patterns like
|
|
79
92
|
`Bash(curl http://localhost:8321/api/context/*)` are the daemon's
|
|
@@ -86,7 +99,7 @@ visible to the model.
|
|
|
86
99
|
|
|
87
100
|
## Concrete Examples
|
|
88
101
|
|
|
89
|
-
- `today` — read and rewrite `today.md`.
|
|
102
|
+
- `today` — read and rewrite `state/today.md`.
|
|
90
103
|
- `schedule` — produce per-date schedule files from the calendar.
|
|
91
104
|
- `mail` — search and label messages via the daemon's mail proxy.
|
|
92
105
|
- `docs-search` — read-only fetch over the docs corpus, used only by
|
|
@@ -97,26 +110,29 @@ visible to the model.
|
|
|
97
110
|
|
|
98
111
|
Skills aren't frozen. A background process — **skill curation** —
|
|
99
112
|
watches how your knowledge layout drifts (file moves, new
|
|
100
|
-
sub-folders, schema tweaks
|
|
101
|
-
proposes JSON **overlays** that update specific sections of the
|
|
113
|
+
sub-folders, schema tweaks under `identity/`, `plans/projects/`, etc.)
|
|
114
|
+
and proposes JSON **overlays** that update specific sections of the
|
|
102
115
|
relevant skill: knowledge layout, routing tables, frontmatter
|
|
103
116
|
schema, search recipes, convention notes, cross-references.
|
|
104
117
|
|
|
105
|
-
Overlays live at `<dataDir>/overlays/<
|
|
106
|
-
are merged in by the SkillsCompiler at session-init. The original
|
|
118
|
+
Overlays live at `<dataDir>/skill-curation-overlays/<slug>/<section_id>.json`
|
|
119
|
+
and are merged in by the SkillsCompiler at session-init. The original
|
|
107
120
|
`SKILL.md` files in `agent-assets/skills/` are never rewritten;
|
|
108
|
-
disabling
|
|
121
|
+
disabling self-learning (or deleting the JSON file) reverts to the
|
|
109
122
|
seed payload immediately.
|
|
110
123
|
|
|
111
124
|
The optimizer agent runs in an isolated workdir with a tightly
|
|
112
125
|
scoped toolset (`Bash(curl http://localhost:8321/api/skill-curation/*)`,
|
|
113
|
-
`Read`) and an auto-revert safety net
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
126
|
+
`Read`) and an auto-revert safety net: each cadence cycle the daemon
|
|
127
|
+
re-checks recently-applied overlays, and any section that has
|
|
128
|
+
accumulated *more* drift signal weight after the overlay was applied
|
|
129
|
+
than before is rolled back automatically and frozen for two cycles to
|
|
130
|
+
stop thrashing. This is the only roll-back path — there is no
|
|
131
|
+
per-proposal approve/reject API, just the on/off toggle.
|
|
132
|
+
|
|
133
|
+
Skill curation is **off by default**. The master toggle, curation
|
|
134
|
+
cadence, manual-run trigger, and the per-skill exclusion list are all
|
|
135
|
+
surfaced at **Settings → Self-learning** (`/settings/self-learning`).
|
|
120
136
|
|
|
121
137
|
## Where You See It in the Dashboard
|
|
122
138
|
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
---
|
|
2
|
+
schema_version: 1
|
|
3
|
+
slug: features/integrations/browser-history
|
|
4
|
+
title: Browser History
|
|
5
|
+
id: browser-history
|
|
6
|
+
aliases:
|
|
7
|
+
- browser history
|
|
8
|
+
- browsing history
|
|
9
|
+
- research clusters
|
|
10
|
+
- reload memory
|
|
11
|
+
- B-3
|
|
12
|
+
category: features
|
|
13
|
+
summary: |
|
|
14
|
+
Local-only poller that reads the browser's own SQLite databases
|
|
15
|
+
(Chrome / Safari / Firefox / Arc), records visits as observations,
|
|
16
|
+
derives research clusters from sustained reading patterns, and
|
|
17
|
+
surfaces what you keep refreshing. Nothing leaves the daemon.
|
|
18
|
+
section: integrations
|
|
19
|
+
tags:
|
|
20
|
+
- integrations
|
|
21
|
+
- observations
|
|
22
|
+
- browser-history
|
|
23
|
+
- polling
|
|
24
|
+
- autonomous
|
|
25
|
+
status: stable
|
|
26
|
+
ask_examples:
|
|
27
|
+
- How does Aitne use my browser history?
|
|
28
|
+
- What is a research cluster?
|
|
29
|
+
- What does `!checks` show?
|
|
30
|
+
- Does my browsing data go anywhere?
|
|
31
|
+
- How do I opt out of browser history?
|
|
32
|
+
locale: en-US
|
|
33
|
+
created: 2026-05-22
|
|
34
|
+
updated: 2026-05-28
|
|
35
|
+
keywords:
|
|
36
|
+
- browser history
|
|
37
|
+
- browser history poller
|
|
38
|
+
- research cluster
|
|
39
|
+
- reload signal
|
|
40
|
+
- "!checks"
|
|
41
|
+
- "!research"
|
|
42
|
+
- shopping comparison
|
|
43
|
+
- two-option offer
|
|
44
|
+
- local-only
|
|
45
|
+
related:
|
|
46
|
+
- features/messaging/bang-commands
|
|
47
|
+
- features/integrations/notion
|
|
48
|
+
- features/operations/managed-chromium
|
|
49
|
+
- features/routines/weekly-review
|
|
50
|
+
- features/routines/morning-routine
|
|
51
|
+
ui_anchors:
|
|
52
|
+
- /settings/integrations/browser-history
|
|
53
|
+
config_keys:
|
|
54
|
+
- browserHistoryConsentAccepted
|
|
55
|
+
- browserHistoryBrowserOverrides
|
|
56
|
+
- browserHistoryCategories
|
|
57
|
+
- browserHistoryRetentionDays
|
|
58
|
+
- browserHistorySearchQueryRetentionDays
|
|
59
|
+
- browserHistoryLifecycle
|
|
60
|
+
- browserHistoryResearchDomainAllowlist
|
|
61
|
+
- browserHistoryResearchDomainDenylist
|
|
62
|
+
process_keys:
|
|
63
|
+
- routine.research_cluster_update
|
|
64
|
+
- routine.research_offer_dm
|
|
65
|
+
- routine.research_dispatch
|
|
66
|
+
- routine.research_wiki_summary
|
|
67
|
+
api_endpoints:
|
|
68
|
+
- GET /api/browser-history/status
|
|
69
|
+
- GET /api/browser-history/research-clusters
|
|
70
|
+
- POST /api/browser-history/offers/:slug/accept
|
|
71
|
+
- POST /api/browser-history/offers/:slug/decline
|
|
72
|
+
- GET /api/browser-history/reloads/weekly
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
# Browser History
|
|
76
|
+
|
|
77
|
+
Aitne can read the SQLite history databases that Chrome, Safari,
|
|
78
|
+
Firefox, and Arc already maintain on disk, classify visits into
|
|
79
|
+
categories, and use the result to notice what you've been
|
|
80
|
+
researching, what you've been refreshing, and what comparison-shopping
|
|
81
|
+
windows you're in. Everything stays local — no URLs, titles, or
|
|
82
|
+
clicks leave the daemon.
|
|
83
|
+
|
|
84
|
+
## What It Does
|
|
85
|
+
|
|
86
|
+
- **Reads visits** from the browser's own history DB on a 30-min
|
|
87
|
+
cadence (per browser, per profile) and inserts them into the
|
|
88
|
+
daemon's `browser_visits` table.
|
|
89
|
+
- **Counts reloads** per `<domain>/<first-path>` into
|
|
90
|
+
`browser_reload_signals`. Surfaced via [`!checks`](../messaging/bang-commands.md)
|
|
91
|
+
for the agent-day and via the weekly review's "this week you
|
|
92
|
+
checked" block.
|
|
93
|
+
- **Derives research clusters** when a topic crosses meaningful-visits
|
|
94
|
+
/ foreground-time / distinct-domain thresholds. Clusters live in
|
|
95
|
+
`browser_research_clusters` with a slug, display name, journal at
|
|
96
|
+
`context/research/<slug>.md`, and a status (`active | dormant |
|
|
97
|
+
muted | concluded`).
|
|
98
|
+
- **Offers engagement DMs** via the Two-Option Offer pattern when a
|
|
99
|
+
cluster qualifies: pick "research dive" (parallel web research +
|
|
100
|
+
summary) or "wiki summary" (Obsidian / Notion / local context).
|
|
101
|
+
Accept paths run through `routine.research_dispatch` /
|
|
102
|
+
`routine.research_wiki_summary`; decline silences offers for 14
|
|
103
|
+
days; mute / unmute / rename / conclude via [`!research`](../messaging/bang-commands.md).
|
|
104
|
+
- **Detects shopping comparison windows** — 90-min sliding windows
|
|
105
|
+
containing ≥3 distinct ASINs surface as comparison sessions the
|
|
106
|
+
agent can summarise.
|
|
107
|
+
- **Powers the pre-morning digest** — yesterday's reading and reload
|
|
108
|
+
patterns feed the morning routine's pre-pass digest.
|
|
109
|
+
|
|
110
|
+
## Privacy and Consent
|
|
111
|
+
|
|
112
|
+
- **Default off.** The integration does not start until the operator
|
|
113
|
+
flips `browserHistoryConsentAccepted = true` on the
|
|
114
|
+
**Settings → Integrations → Browser History**
|
|
115
|
+
(`/settings/integrations/browser-history`) page. The integration only
|
|
116
|
+
supports `direct` (the daemon poller) or `disabled` — there is no
|
|
117
|
+
delegated or native mode.
|
|
118
|
+
- **Local-only.** No request leaves the daemon. The browser's
|
|
119
|
+
history file is opened read-only; the daemon never reaches into
|
|
120
|
+
cookies, login sessions, or profile dirs other than the history DB.
|
|
121
|
+
- **Per-browser opt-in.** `browserHistoryBrowserOverrides` lets you
|
|
122
|
+
enable / disable each detected browser independently and override
|
|
123
|
+
the DB path for atypical installs.
|
|
124
|
+
- **Per-category gate.** `browserHistoryCategories` controls which
|
|
125
|
+
visit categories (research / shopping / docs / media / …) get
|
|
126
|
+
ingested. Categories you exclude are dropped at ingest time, not
|
|
127
|
+
filtered later.
|
|
128
|
+
- **Retention.** `browserHistoryRetentionDays` (visits) and
|
|
129
|
+
`browserHistorySearchQueryRetentionDays` (search queries) cap the
|
|
130
|
+
on-disk window; older rows are deleted on the next ingest tick.
|
|
131
|
+
- **Domain controls.** `browserHistoryResearchDomainAllowlist` /
|
|
132
|
+
`…Denylist` filter which domains can qualify a research cluster.
|
|
133
|
+
|
|
134
|
+
## How Clusters Qualify
|
|
135
|
+
|
|
136
|
+
A research cluster qualifies when the combination of meaningful visits,
|
|
137
|
+
foreground time, and distinct domains crosses the thresholds in
|
|
138
|
+
`DEFAULT_OFFER_THRESHOLDS` (tunable via `browserHistoryLifecycle`).
|
|
139
|
+
On each tick the poller evaluates the offer triggers per active cluster
|
|
140
|
+
(`evaluateOfferTriggers`); once the **per-cluster offer rate-limit gate**
|
|
141
|
+
(`gateOfferRateLimit`) approves — this is the 14-day, per-slug offer
|
|
142
|
+
backoff, not the daemon-wide session gate that Phase 9 removed — a
|
|
143
|
+
Two-Option Offer DM is composed by the `routine.research_offer_dm`
|
|
144
|
+
process key.
|
|
145
|
+
|
|
146
|
+
Accepting either path clears every pending-offer row for that slug, so a
|
|
147
|
+
later tick cannot re-offer the same cluster.
|
|
148
|
+
|
|
149
|
+
## Owner Controls
|
|
150
|
+
|
|
151
|
+
| Surface | What it does |
|
|
152
|
+
|---|---|
|
|
153
|
+
| `!checks` | Today's top reload patterns (pure DB read, safe while paused). |
|
|
154
|
+
| `!research` | List active + dormant clusters. |
|
|
155
|
+
| `!research <slug>` | Show one cluster's detail. |
|
|
156
|
+
| `!research accept <slug>` | Enqueue `routine.research_dispatch`. |
|
|
157
|
+
| `!research wiki <slug>` | Enqueue `routine.research_wiki_summary`. |
|
|
158
|
+
| `!research decline <slug>` | Silence offers for 14 days. |
|
|
159
|
+
| `!research mute <slug>` / `unmute` | Toggle offers off (until unmute) / restore. |
|
|
160
|
+
| `!research rename <slug> <new name>` | Change display name. |
|
|
161
|
+
| `!research conclude <slug>` | Mark concluded; preserve the journal. |
|
|
162
|
+
| Natural-language reply to an offer DM | The `browser-history-respond` skill bridges into the same `/api/browser-history/offers/<slug>/{accept,decline}` call. |
|
|
163
|
+
|
|
164
|
+
## When It Runs
|
|
165
|
+
|
|
166
|
+
| Signal | Cadence | Source |
|
|
167
|
+
|---|---|---|
|
|
168
|
+
| Visit ingest | Every 30 min per browser profile | `BrowserHistoryPoller` |
|
|
169
|
+
| Cluster engagement evaluation | Same tick as visit ingest | `pipeline/offer-triggers.ts` |
|
|
170
|
+
| Shopping-comparison window scan | Same tick, 7-day lookback | `SHOPPING_COMPARISON_WINDOW_MS` constants |
|
|
171
|
+
| Nightly journal append | Agent-day boundary | `routine.research_cluster_update` (lite tier, one row per active cluster per day) |
|
|
172
|
+
| Weekly reload-memory block | Friday weekly review | `routine.weekly_review` reads `/api/browser-history/reloads/weekly` |
|
|
173
|
+
| Pre-morning digest | Morning routine pre-pass | Yesterday's reading + reloads feed the digest block |
|
|
174
|
+
|
|
175
|
+
## When Something Goes Wrong
|
|
176
|
+
|
|
177
|
+
- **The settings page shows no browsers.** Open
|
|
178
|
+
`/settings/integrations/browser-history` and run `aitne doctor` — the
|
|
179
|
+
platform detector might be failing to resolve the user's profile dir.
|
|
180
|
+
The daemon log line will name the candidate paths it tried.
|
|
181
|
+
- **A cluster keeps re-offering.** Check the `lastResearchOfferAt` /
|
|
182
|
+
`lastWikiOfferAt` columns; the rate-limit gate uses those for the
|
|
183
|
+
14-day backoff. `!research decline <slug>` stamps both fields.
|
|
184
|
+
- **`!checks` is empty.** That's the common case for a quiet day —
|
|
185
|
+
the reload signals are gated to the agent-day, not UTC.
|
|
186
|
+
|
|
187
|
+
## Related
|
|
188
|
+
|
|
189
|
+
- [Managed Chromium](../operations/managed-chromium.md) — separate
|
|
190
|
+
experimental flow for *driving* a Chromium profile (B-4), not
|
|
191
|
+
reading browser history.
|
|
192
|
+
- [Weekly Review](../routines/weekly-review.md)
|
|
193
|
+
- [Morning Routine](../routines/morning-routine.md)
|
|
194
|
+
- [Bang Commands](../messaging/bang-commands.md)
|
|
195
|
+
- [Glossary: Research Cluster](../../glossary.md#research-cluster)
|
|
@@ -10,16 +10,18 @@ aliases:
|
|
|
10
10
|
category: features
|
|
11
11
|
summary: |
|
|
12
12
|
The calendar integration pulls your events into Aitne so the
|
|
13
|
-
morning routine
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
calendar
|
|
17
|
-
|
|
13
|
+
morning routine and schedule files can reason about your day.
|
|
14
|
+
The Connections → Calendar page also picks the backend that handles
|
|
15
|
+
observed calendar changes (the Calendar Event Model card, binding
|
|
16
|
+
calendar.change) — that picker only applies when the integration runs
|
|
17
|
+
in direct mode.
|
|
18
18
|
section: integrations
|
|
19
19
|
tags:
|
|
20
20
|
- integrations
|
|
21
21
|
- calendar
|
|
22
22
|
- core
|
|
23
|
+
- observations
|
|
24
|
+
- polling
|
|
23
25
|
status: stable
|
|
24
26
|
ask_examples:
|
|
25
27
|
- How do I connect my Google Calendar?
|
|
@@ -28,10 +30,10 @@ ask_examples:
|
|
|
28
30
|
- What is the Calendar Event Model setting on the Connections page?
|
|
29
31
|
- Why is the Calendar Event Model card missing when my calendar is delegated?
|
|
30
32
|
- Will Aitne notice calendar changes while my calendar is delegated?
|
|
31
|
-
- Which model handles
|
|
33
|
+
- Which model handles detected calendar changes?
|
|
32
34
|
locale: en-US
|
|
33
35
|
created: 2026-04-25
|
|
34
|
-
updated: 2026-
|
|
36
|
+
updated: 2026-05-28
|
|
35
37
|
keywords:
|
|
36
38
|
- calendar
|
|
37
39
|
- google calendar
|
|
@@ -47,25 +49,28 @@ keywords:
|
|
|
47
49
|
related:
|
|
48
50
|
- features/routines/morning-routine
|
|
49
51
|
- features/memory-files/schedule
|
|
52
|
+
- features/operations/schedule-approaching
|
|
50
53
|
- concepts/delegated-mode
|
|
51
54
|
- concepts/process-keys
|
|
52
55
|
- concepts/observations
|
|
53
56
|
ui_anchors:
|
|
54
57
|
- /connections/calendar
|
|
55
58
|
api_endpoints:
|
|
56
|
-
- /api/calendar
|
|
59
|
+
- /api/calendar/calendars
|
|
60
|
+
- /api/calendar/events
|
|
61
|
+
- /api/calendar/freebusy
|
|
57
62
|
config_keys:
|
|
58
63
|
- calendarPollIntervalSeconds
|
|
59
64
|
process_keys:
|
|
60
65
|
- calendar.change
|
|
66
|
+
- schedule.approaching
|
|
61
67
|
---
|
|
62
68
|
|
|
63
69
|
# Calendar
|
|
64
70
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
backends planned) so Aitne can plan your day around them.
|
|
71
|
+
Aitne pulls events from one or more calendars (Google Calendar today,
|
|
72
|
+
more backends planned) so it can build today's plan around them and
|
|
73
|
+
DM you ahead of meetings that matter.
|
|
69
74
|
|
|
70
75
|
## What It Does
|
|
71
76
|
|
|
@@ -73,11 +78,13 @@ backends planned) so Aitne can plan your day around them.
|
|
|
73
78
|
- **Records observations** when events change (add / move / remove),
|
|
74
79
|
consumed by the hourly check.
|
|
75
80
|
- **Surfaces today's events** to the morning routine so they land in
|
|
76
|
-
`today.md` and the day's schedule file.
|
|
81
|
+
`state/today.md` and the day's schedule file.
|
|
77
82
|
- **Reads** events on demand for reactive turns ("am I free at 3?").
|
|
78
83
|
|
|
79
|
-
The agent can create events when the operator asks
|
|
80
|
-
|
|
84
|
+
The agent can create, move, or delete events when the operator asks
|
|
85
|
+
(`POST`/`PATCH`/`DELETE /api/calendar/events`, all Autonomous-tier — no
|
|
86
|
+
approval prompt). It does not auto-schedule on its own; it acts only on
|
|
87
|
+
an explicit request.
|
|
81
88
|
|
|
82
89
|
## When It Runs / How It Is Triggered
|
|
83
90
|
|
|
@@ -99,22 +106,24 @@ action). It does not auto-schedule on its own.
|
|
|
99
106
|
## Calendar Event Model
|
|
100
107
|
|
|
101
108
|
The Calendar Event Model picker chooses the backend and model that
|
|
102
|
-
runs when the
|
|
103
|
-
`calendar.change` ProcessKey, which fires
|
|
104
|
-
three situations:
|
|
109
|
+
runs when the **daemon-side poller detects a calendar change**. It binds
|
|
110
|
+
the `calendar.change` ProcessKey, which fires in two situations:
|
|
105
111
|
|
|
106
|
-
- An event is about to start (the operator gets an approaching-event
|
|
107
|
-
reminder).
|
|
108
112
|
- An event was added, moved, or deleted between polls (recorded as a
|
|
109
113
|
change observation; the hourly check picks it up).
|
|
110
|
-
- An event was created far in advance (long-horizon events
|
|
111
|
-
roadmap-refresh routine so `roadmap.md` can
|
|
112
|
-
timeline).
|
|
114
|
+
- An event was created far in advance (long-horizon events more than 14
|
|
115
|
+
days out nudge the roadmap-refresh routine so `plans/roadmap.md` can
|
|
116
|
+
build a preparation timeline).
|
|
117
|
+
|
|
118
|
+
Approaching-event reminders are a separate flow: they fire on the
|
|
119
|
+
`schedule.approaching` ProcessKey, not `calendar.change`, and are not
|
|
120
|
+
configured by this card. See [Schedule Approaching](../operations/schedule-approaching.md).
|
|
113
121
|
|
|
114
|
-
Light tier is the default and almost always
|
|
115
|
-
are classification
|
|
116
|
-
is whichever you picked as your main
|
|
117
|
-
override per-process here if you want a
|
|
122
|
+
Light tier (Haiku 4.5 / gpt-5.4-mini) is the default and almost always
|
|
123
|
+
sufficient — these flows are event classification at low cost, not
|
|
124
|
+
generation. The default backend is whichever you picked as your main
|
|
125
|
+
backend during setup; you can override per-process here if you want a
|
|
126
|
+
different mix.
|
|
118
127
|
|
|
119
128
|
The picker is **only meaningful when Google Calendar runs in direct
|
|
120
129
|
mode.** In delegated mode the daemon hands off all Google Calendar
|
|
@@ -157,7 +166,8 @@ rather than an env-style setting; the underlying state lives in the
|
|
|
157
166
|
## Related
|
|
158
167
|
|
|
159
168
|
- [Morning Routine](../routines/morning-routine.md)
|
|
160
|
-
- [
|
|
169
|
+
- [Schedule files](../memory-files/schedule.md)
|
|
170
|
+
- [Schedule Approaching](../operations/schedule-approaching.md)
|
|
161
171
|
- [Delegated Mode](../../concepts/delegated-mode.md)
|
|
162
|
-
- [
|
|
172
|
+
- [Process Keys](../../concepts/process-keys.md)
|
|
163
173
|
- [Observations](../../concepts/observations.md)
|
|
@@ -17,19 +17,22 @@ tags:
|
|
|
17
17
|
- integrations
|
|
18
18
|
- git
|
|
19
19
|
- observations
|
|
20
|
+
- polling
|
|
20
21
|
status: stable
|
|
21
22
|
ask_examples:
|
|
22
23
|
- How do I add a git repo to watch?
|
|
23
24
|
- Will the agent message me on every commit?
|
|
24
25
|
- Can the agent push to my repos?
|
|
26
|
+
- How often does the daemon poll my repos?
|
|
25
27
|
locale: en-US
|
|
26
28
|
created: 2026-04-25
|
|
27
|
-
updated: 2026-
|
|
29
|
+
updated: 2026-05-28
|
|
28
30
|
keywords:
|
|
29
31
|
- git
|
|
30
32
|
- commit
|
|
31
33
|
- repository
|
|
32
34
|
- observer
|
|
35
|
+
- polling
|
|
33
36
|
related:
|
|
34
37
|
- features/integrations/github
|
|
35
38
|
- features/routines/hourly-check
|
|
@@ -38,12 +41,17 @@ ui_anchors:
|
|
|
38
41
|
- /connections/repositories
|
|
39
42
|
config_keys:
|
|
40
43
|
- gitPollIntervalSeconds
|
|
44
|
+
process_keys:
|
|
45
|
+
- git.push.detected
|
|
46
|
+
- git.lifecycle.poll
|
|
47
|
+
api_endpoints:
|
|
48
|
+
- /api/git/log
|
|
49
|
+
- /api/git/diff
|
|
50
|
+
- /api/git/show
|
|
41
51
|
---
|
|
42
52
|
|
|
43
53
|
# Git
|
|
44
54
|
|
|
45
|
-
## In One Sentence
|
|
46
|
-
|
|
47
55
|
Add local git repositories to a watched set; the daemon polls them
|
|
48
56
|
and the hourly check decides whether the recent activity is worth
|
|
49
57
|
flagging.
|
|
@@ -72,19 +80,22 @@ by design.
|
|
|
72
80
|
|
|
73
81
|
## Where in the Dashboard
|
|
74
82
|
|
|
75
|
-
- **Connections →
|
|
83
|
+
- **Connections → Repositories** lists the watched paths and last-poll
|
|
84
|
+
times. Git repos are managed as part of the unified Repositories
|
|
85
|
+
surface (the same place that links a local checkout to its GitHub
|
|
86
|
+
remote).
|
|
76
87
|
|
|
77
88
|
## Configuration
|
|
78
89
|
|
|
79
90
|
| Setting | Default | Notes |
|
|
80
91
|
|---|---|---|
|
|
81
|
-
| `gitPollIntervalSeconds` |
|
|
92
|
+
| `gitPollIntervalSeconds` | 3600 | How often to scan watched repos. |
|
|
82
93
|
|
|
83
94
|
## When Something Goes Wrong
|
|
84
95
|
|
|
85
96
|
- A **missing observation** for a commit you just made: check that the
|
|
86
|
-
repo path is actually watched on `/connections/
|
|
87
|
-
poll has fired since.
|
|
97
|
+
repo path is actually watched on `/connections/repositories` and that
|
|
98
|
+
the poll has fired since (it runs every `gitPollIntervalSeconds`).
|
|
88
99
|
- A repo that **never appears** in observations: the agent's own
|
|
89
100
|
writes are filtered out (see `AgentWriteTracker`); make sure the
|
|
90
101
|
commit was authored by you, not by an agent session.
|