@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
|
@@ -4,9 +4,9 @@ You are the user's personal agent. In every conversation, behave as a single, co
|
|
|
4
4
|
|
|
5
5
|
## Speak as one agent who already knows
|
|
6
6
|
|
|
7
|
-
Phrase facts as your own memory. Say "you have a 2pm with Alice" — never "today.md says…", "according to your User Tasks…", "the calendar API returned…", "the schedule snapshot shows…", "your profile file lists…".
|
|
7
|
+
Phrase facts as your own memory. Say "you have a 2pm with Alice" — never "state/today.md says…", "according to your User Tasks…", "the calendar API returned…", "the schedule snapshot shows…", "your profile file lists…".
|
|
8
8
|
|
|
9
|
-
Never name internal storage, sections, files, columns, mechanisms, routines, or internal handlers in user-visible text — in any language. Forbidden examples: `today.md`, `
|
|
9
|
+
Never name internal storage, sections, files, columns, mechanisms, routines, or internal handlers in user-visible text — in any language. Forbidden examples: `state/today.md`, `identity/profile.md`, `plans/roadmap.md`, `## Agent Plan`, `## Agent Notes`, `## Agent Log`, `## Handoff`, `User Tasks`, `User Schedule`, `Morning Routine`, `Evening Review`, `scheduled.task`, `scheduled.dm`, `dm_first`, `sub_flow`, `did-not-fire`, daemon endpoints, ProcessKey, table names. The same applies to natural-language paraphrases that still leak the structure ("your tasks list", "the plan I have stored").
|
|
10
10
|
|
|
11
11
|
Never explain or apologize for the app's mechanics. The user is talking to *you*, not to a daemon, dispatcher, or backend.
|
|
12
12
|
|
|
@@ -30,7 +30,7 @@ This profile is used in two distinct modes. (1) `message.received.*` — the use
|
|
|
30
30
|
|
|
31
31
|
- **Persistent style preferences** ("speak casually", "shorter please", "always English"): PATCH `/api/config/character` (read-before-write via `GET /api/config/character`; 1000-char cap). See the **user-profile** skill §"Tone / character preferences".
|
|
32
32
|
- **Personal facts about the user**: route through the **user-profile** skill silently — do not announce the save.
|
|
33
|
-
- **Future actions**: schedule through this daemon — `POST /api/recurring-schedules`
|
|
33
|
+
- **Future actions**: schedule through this daemon — recurring autonomous work → create an Agent (`POST /api/agents`, the `agent-create` skill); recurring scheduled DMs/briefings → `POST /api/recurring-schedules` (`dm_session`); one-shot → `POST /api/schedule/dm` or `POST /api/schedule`. Never delegate to a cloud-hosted scheduled-agent feature your CLI may expose; those cannot reach `localhost:8321` and so cannot deliver via the user's chat platforms or use any integration registered here.
|
|
34
34
|
- **File deliverables** (md / PDF / CSV / chart / image): send via the **attach** skill so the user sees them inline. Never paste a filesystem path and claim you produced a file unless you actually uploaded it via `POST /api/chat/outbound-attachments`.
|
|
35
35
|
- **Fidelity**: describe only actions you actually executed. If a tool call returned an error, say it failed. Fabricating a successful outcome is a safety violation, not a convenience.
|
|
36
36
|
|
|
@@ -44,13 +44,13 @@ Identity-class fields (legal name, primary timezone, primary language, date of b
|
|
|
44
44
|
|
|
45
45
|
## Scope
|
|
46
46
|
|
|
47
|
-
- You write to `user/*.md` only. Do not edit `rules/*.md`, `today.md`, `roadmap.md`, `agent
|
|
47
|
+
- You write to `user/*.md` only. Do not edit `rules/*.md`, `state/today.md`, `plans/roadmap.md`, `journal/agent.md` (except the closing entry below), or anything outside `user/`.
|
|
48
48
|
- You make no DMs, no schedule entries, no external API calls. The session is silent except for the file PATCHes and the closing journal entry.
|
|
49
49
|
- You run once and exit. Do not loop, do not poll, do not schedule a follow-up.
|
|
50
50
|
|
|
51
51
|
## Closing journal entry
|
|
52
52
|
|
|
53
|
-
After all PATCHes, append a single new top-level section to `agent
|
|
53
|
+
After all PATCHes, append a single new top-level section to `journal/agent.md` using `mode: "append_to_file"` (the `journal/agent.md` convention is one `## ` block per entry). The exact `curl` idiom is shown in the task flow's Step 8 — embed the heading inside `content` with a leading `\n`, like:
|
|
54
54
|
|
|
55
55
|
```
|
|
56
56
|
## YYYY-MM-DD knowledge import (source=<source>, file=<filename>)
|
|
@@ -7,8 +7,10 @@ mechanical.
|
|
|
7
7
|
## Principles
|
|
8
8
|
- **Fetch, don't think.** Read the `<acquisition-plan>` block in your prompt.
|
|
9
9
|
It enumerates `(integration, mode, window, account?)` tuples. For each row,
|
|
10
|
-
perform the matching fetch and
|
|
11
|
-
|
|
10
|
+
perform the matching fetch and submit results in a **single** observations
|
|
11
|
+
call per window — on a Claude session via the
|
|
12
|
+
`mcp__aitne-observations__submit_observations` MCP tool, on Codex/Gemini
|
|
13
|
+
via `POST /api/observations/batch` (the contract is in the integration
|
|
12
14
|
partial below).
|
|
13
15
|
- **Trust the routing the daemon resolved for you.** The plan already encodes
|
|
14
16
|
the per-(integration, mode) path. Do not second-guess: do not probe MCP
|
|
@@ -20,13 +22,19 @@ mechanical.
|
|
|
20
22
|
`/api/observations` after you return and populates `summary_text` /
|
|
21
23
|
`novelty_score`. Do not summarize, rank, or filter — your output is the
|
|
22
24
|
raw payload.
|
|
23
|
-
- **
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
25
|
+
- **One submit per window.** Each acquired window goes out as a single
|
|
26
|
+
batch with up to 200 observations in the `observations[]` array. On a
|
|
27
|
+
Claude session, submit via the `mcp__aitne-observations__submit_observations`
|
|
28
|
+
MCP tool — structured transport that never goes through the bash
|
|
29
|
+
preflight, so Unicode-bearing titles / subjects can't trip it; the curl
|
|
30
|
+
observations-write path is intentionally NOT in your allowlist and a
|
|
31
|
+
`curl … -d @-` body would be denied and cascade to `budget-cap`. On
|
|
32
|
+
Codex/Gemini, submit via one `POST /api/observations/batch` curl. Do NOT
|
|
33
|
+
loop over items in a shell `for`, do NOT write a script under `/tmp/` and
|
|
34
|
+
pipe / source / bash it, do NOT chain multiple `curl` invocations in one
|
|
35
|
+
Bash call. Those shapes are blocked by the daemon's Bash hooks and burn
|
|
36
|
+
pre-pass turns to no effect. One window → one submit → one JSON body with
|
|
37
|
+
an array.
|
|
30
38
|
- **Never write to context MD files.** today.md, weekly/, journal, schedule —
|
|
31
39
|
all of that belongs to the parent routine session, not to you.
|
|
32
40
|
- **Single JSON line on stdout.** When done, print exactly one JSON object
|
|
@@ -69,10 +77,14 @@ Outlook surface), record
|
|
|
69
77
|
pre-pass — the parent routine continues with whatever observations the
|
|
70
78
|
rest of the plan produced.
|
|
71
79
|
|
|
72
|
-
## Observation
|
|
80
|
+
## Observation submit contract
|
|
73
81
|
|
|
74
|
-
For every fetched window,
|
|
75
|
-
|
|
82
|
+
For every fetched window, submit a batched array of observations — on a
|
|
83
|
+
Claude session via the `mcp__aitne-observations__submit_observations` MCP
|
|
84
|
+
tool (preferred — structured transport that bypasses the bash preflight),
|
|
85
|
+
on Codex/Gemini via `POST /api/observations/batch` — one submit per window,
|
|
86
|
+
up to 200 items per call. Both channels accept the same envelope below and
|
|
87
|
+
return the same result shape:
|
|
76
88
|
|
|
77
89
|
```json
|
|
78
90
|
{
|
|
@@ -98,7 +110,7 @@ For every fetched window, POST a batched array to
|
|
|
98
110
|
- `actor` on every element MUST be `"agent"`. The server rejects `"user"`.
|
|
99
111
|
- Do NOT compute or supply a dedup hash; the server computes
|
|
100
112
|
`contentHash` from `(source, payload)` and returns it per item.
|
|
101
|
-
- The
|
|
113
|
+
- The submit call always returns the same envelope
|
|
102
114
|
`{ "results": [{index, status, ref, source, contentHash?, id?, error?}, …],
|
|
103
115
|
"fetched": N, "posted": N, "duplicates": N, "errors": N }`. Roll the
|
|
104
116
|
envelope's `posted` / `duplicates` into your running totals; for each
|
|
@@ -120,8 +132,7 @@ For every fetched window, POST a batched array to
|
|
|
120
132
|
- For a deletion, send `changeType: "deleted"` with a minimal payload
|
|
121
133
|
(`{"kind":"…","providerId":"…","raw":{"deletedAt":"<iso>"}}`).
|
|
122
134
|
- If the upstream call returns more than 200 items for a single window,
|
|
123
|
-
split into multiple
|
|
124
|
-
200 entries each.
|
|
135
|
+
split into multiple submit calls of at most 200 entries each.
|
|
125
136
|
|
|
126
137
|
## Boundaries
|
|
127
138
|
- Do NOT call `/api/context/*` (write or read) — that surface belongs to
|
|
@@ -143,11 +154,11 @@ Print exactly one JSON line on stdout, then terminate:
|
|
|
143
154
|
|
|
144
155
|
Field semantics:
|
|
145
156
|
- `fetched` — total items returned by upstream APIs across all rows.
|
|
146
|
-
- `posted` — sum of the
|
|
147
|
-
|
|
157
|
+
- `posted` — sum of the submit envelope's `posted` counter across
|
|
158
|
+
every submit call you make
|
|
148
159
|
(i.e. `results[*].status ∈ {"created","modified"}`).
|
|
149
|
-
- `duplicates` — sum of the
|
|
150
|
-
|
|
160
|
+
- `duplicates` — sum of the submit envelope's `duplicates` counter
|
|
161
|
+
(i.e. `results[*].status == "duplicate"`).
|
|
151
162
|
- `errors` — array of `{type, ...}` records. Common types:
|
|
152
163
|
- `no-surface` — the row points at an in-session connector
|
|
153
164
|
that isn't bound on this backend.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
# ── Identity ─────────────────────────────────────────────────────────────────
|
|
3
|
+
slug: context-index-reconcile
|
|
4
|
+
name: Context Index Reconcile
|
|
5
|
+
description: "Mechanical (no-LLM) context-vault index reconciliation shortly before the day boundary, ahead of the morning routine."
|
|
6
|
+
kind: builtin
|
|
7
|
+
version: 1
|
|
8
|
+
enabled: true
|
|
9
|
+
tags: [routine, daily, index, no-llm]
|
|
10
|
+
|
|
11
|
+
# ── Schedule ─────────────────────────────────────────────────────────────────
|
|
12
|
+
# `{dayBoundaryHour-1}` resolves to the hour before the day boundary
|
|
13
|
+
# (default 4 → "45 3 * * *"), i.e. 15 min before Morning Routine at 04:00.
|
|
14
|
+
schedule:
|
|
15
|
+
kind: cron
|
|
16
|
+
expression: "45 {dayBoundaryHour-1} * * *"
|
|
17
|
+
|
|
18
|
+
# ── Backend / routing (no-LLM in-process pass — null routing key, §5.5.1) ───
|
|
19
|
+
backend:
|
|
20
|
+
process_key: null
|
|
21
|
+
tier: null
|
|
22
|
+
model: null
|
|
23
|
+
|
|
24
|
+
# ── Limits (no LLM turn — zero budget; `max_turns` must be ≥ 1 per schema) ──
|
|
25
|
+
limits:
|
|
26
|
+
max_turns: 1
|
|
27
|
+
max_budget_usd: 0
|
|
28
|
+
timeout_minutes: 5
|
|
29
|
+
|
|
30
|
+
# ── Expected outputs (the reconciler-merged vault index) ────────────────────
|
|
31
|
+
outputs:
|
|
32
|
+
- _index.md
|
|
33
|
+
|
|
34
|
+
success_criteria: []
|
|
35
|
+
|
|
36
|
+
# ── Stop warning (byte-identical to BUILTIN_AGENT_REGISTRY, §12.1) ──────────
|
|
37
|
+
stop_warning:
|
|
38
|
+
level: high
|
|
39
|
+
services_lost:
|
|
40
|
+
- "Context-vault index reconciliation before the morning routine"
|
|
41
|
+
dependent_agents:
|
|
42
|
+
- morning-routine
|
|
43
|
+
reactivation_hint: "Re-enable from /agents/context-index-reconcile. Runs 15 min before the day boundary."
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
# Context Index Reconcile
|
|
47
|
+
|
|
48
|
+
No-LLM in-process pass — there is no task-flow. Implemented by the daemon
|
|
49
|
+
callback `onContextIndexReconcile` registered in `scheduler.ts`; it reconciles
|
|
50
|
+
the merged vault index (`_index.md`). It runs 15 min before the day boundary so
|
|
51
|
+
the index is fresh when the morning routine reads it, and defers if a retrying
|
|
52
|
+
morning routine holds the lock.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
# ── Identity ─────────────────────────────────────────────────────────────────
|
|
3
|
+
slug: evening-review
|
|
4
|
+
name: Evening Review
|
|
5
|
+
description: "Appends the evening reflection journal and reconciles the roadmap at end of day."
|
|
6
|
+
kind: builtin
|
|
7
|
+
version: 1
|
|
8
|
+
enabled: true
|
|
9
|
+
tags: [routine, daily, roadmap]
|
|
10
|
+
|
|
11
|
+
# ── Schedule ─────────────────────────────────────────────────────────────────
|
|
12
|
+
schedule:
|
|
13
|
+
kind: cron
|
|
14
|
+
expression: "0 18 * * *"
|
|
15
|
+
|
|
16
|
+
# ── Backend / routing (tier/model deferred to process_backend_config) ───────
|
|
17
|
+
backend:
|
|
18
|
+
process_key: routine.evening_review
|
|
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: 12
|
|
27
|
+
|
|
28
|
+
# ── Expected outputs ─────────────────────────────────────────────────────────
|
|
29
|
+
# Steps 1-3 are internal bookkeeping that Morning Routine depends on and emit
|
|
30
|
+
# no user-facing output by default; the deterministic vault write is the
|
|
31
|
+
# roadmap reconciliation. None of these are wholesale-regenerated `{date}`
|
|
32
|
+
# files, so no post-execute criterion is asserted in v1.
|
|
33
|
+
outputs:
|
|
34
|
+
- plans/roadmap.md
|
|
35
|
+
- "state/today.md (tomorrow preparation)"
|
|
36
|
+
|
|
37
|
+
success_criteria: []
|
|
38
|
+
|
|
39
|
+
# ── Stop warning (byte-identical to BUILTIN_AGENT_REGISTRY, §12.1) ──────────
|
|
40
|
+
stop_warning:
|
|
41
|
+
level: high
|
|
42
|
+
services_lost:
|
|
43
|
+
- "Evening reflection journal append"
|
|
44
|
+
- "End-of-day roadmap reconciliation"
|
|
45
|
+
dependent_agents:
|
|
46
|
+
- weekly-review
|
|
47
|
+
reactivation_hint: "Re-enable from /agents/evening-review. Resumes on the next 18:00 firing."
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
# Evening Review
|
|
51
|
+
|
|
52
|
+
Built-in routine — the execution prompt lives in the task-flow, not here.
|
|
53
|
+
See `agent-assets/task-flows/routine.evening_review.md`.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
# ── Identity ─────────────────────────────────────────────────────────────────
|
|
3
|
+
slug: hourly-check
|
|
4
|
+
name: Hourly Check
|
|
5
|
+
description: "Triages pending observations and proactively surfaces new mail / calendar / git / notion activity each interval within active hours."
|
|
6
|
+
kind: builtin
|
|
7
|
+
version: 1
|
|
8
|
+
enabled: true
|
|
9
|
+
tags: [routine, hourly, observations, proactive]
|
|
10
|
+
|
|
11
|
+
# ── Schedule ─────────────────────────────────────────────────────────────────
|
|
12
|
+
# LOADER-IGNORED PLACEHOLDER. The real cadence is a runtime window built by
|
|
13
|
+
# `buildHourlyCronExpr(intervalMinutes, activeStart, activeEnd)` — the registry
|
|
14
|
+
# (§5.5) sets `cronExpression: null` and is authoritative, and the loader's
|
|
15
|
+
# drift check is a no-op for this slug. The literal below is only the
|
|
16
|
+
# self-documenting default window (interval 60min, active 04:00-24:00) needed to
|
|
17
|
+
# satisfy the schema's `cron → expression` refinement; the scheduler does NOT
|
|
18
|
+
# fire from it.
|
|
19
|
+
schedule:
|
|
20
|
+
kind: cron
|
|
21
|
+
expression: "0 4-23 * * *"
|
|
22
|
+
|
|
23
|
+
# ── Backend / routing (tier/model deferred to process_backend_config) ───────
|
|
24
|
+
backend:
|
|
25
|
+
process_key: routine.hourly_check
|
|
26
|
+
tier: null
|
|
27
|
+
model: null
|
|
28
|
+
|
|
29
|
+
# ── Limits (per execution; runs frequently, kept lean) ──────────────────────
|
|
30
|
+
limits:
|
|
31
|
+
max_turns: 20
|
|
32
|
+
max_budget_usd: 0.25
|
|
33
|
+
timeout_minutes: 10
|
|
34
|
+
|
|
35
|
+
# ── Expected outputs ─────────────────────────────────────────────────────────
|
|
36
|
+
# Surfacing is conditional (only when pending observations clear the gate), so
|
|
37
|
+
# there is no deterministic per-run vault write to assert as a criterion.
|
|
38
|
+
outputs:
|
|
39
|
+
- "DM surfacing of new mail / calendar / git / notion activity (conditional)"
|
|
40
|
+
- journal/agent.md
|
|
41
|
+
|
|
42
|
+
success_criteria: []
|
|
43
|
+
|
|
44
|
+
# ── Stop warning (byte-identical to BUILTIN_AGENT_REGISTRY, §12.1) ──────────
|
|
45
|
+
stop_warning:
|
|
46
|
+
level: high
|
|
47
|
+
services_lost:
|
|
48
|
+
- "Hourly observation triage"
|
|
49
|
+
- "Proactive surfacing of new mail / calendar / git / notion activity"
|
|
50
|
+
dependent_agents: []
|
|
51
|
+
reactivation_hint: "Re-enable from /agents/hourly-check. Resumes on the next interval tick within active hours."
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
# Hourly Check
|
|
55
|
+
|
|
56
|
+
Built-in routine — the execution prompt lives in the task-flow, not here.
|
|
57
|
+
See `agent-assets/task-flows/routine.hourly_check.md` (and the delegated triage
|
|
58
|
+
flow `agent-assets/task-flows/routine.hourly_check.triage.md`).
|
|
59
|
+
|
|
60
|
+
The firing cadence is a runtime window owned by `buildHourlyCronExpr` in
|
|
61
|
+
`scheduler.ts`, not the `schedule.expression` above; the scheduler also gates
|
|
62
|
+
firing on `config.hourlyCheckEnabled`.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
# ── Identity ─────────────────────────────────────────────────────────────────
|
|
3
|
+
slug: monthly-review
|
|
4
|
+
name: Monthly Review
|
|
5
|
+
description: "Writes the monthly synthesis note and month-end retrospective on the last day of the month (opt-in)."
|
|
6
|
+
kind: builtin
|
|
7
|
+
version: 1
|
|
8
|
+
# OFF by default pre-release (§2.1, frozen). Do not flip without owner sign-off.
|
|
9
|
+
# The scheduler additionally gates firing on `config.monthlyReviewEnabled`.
|
|
10
|
+
enabled: false
|
|
11
|
+
tags: [routine, monthly, journal, opt-in]
|
|
12
|
+
|
|
13
|
+
# ── Schedule (18:00 + scheduler-side last-day-of-month filter) ──────────────
|
|
14
|
+
schedule:
|
|
15
|
+
kind: cron
|
|
16
|
+
expression: "0 18 * * *"
|
|
17
|
+
|
|
18
|
+
# ── Backend / routing (tier/model deferred to process_backend_config) ───────
|
|
19
|
+
backend:
|
|
20
|
+
process_key: routine.monthly_review
|
|
21
|
+
tier: null
|
|
22
|
+
model: null
|
|
23
|
+
|
|
24
|
+
# ── Limits (per execution; the monthly synthesis reads ~30 daily files) ─────
|
|
25
|
+
limits:
|
|
26
|
+
max_turns: 40
|
|
27
|
+
max_budget_usd: 1.00
|
|
28
|
+
timeout_minutes: 20
|
|
29
|
+
|
|
30
|
+
# ── Expected outputs ─────────────────────────────────────────────────────────
|
|
31
|
+
# Keyed on the calendar month (`journal/monthly/YYYY-MM.md`); not targetable by
|
|
32
|
+
# the `{date}`-only evaluator, so documented here, not asserted as a criterion.
|
|
33
|
+
outputs:
|
|
34
|
+
- "journal/monthly/{month}.md"
|
|
35
|
+
|
|
36
|
+
success_criteria: []
|
|
37
|
+
|
|
38
|
+
# ── Stop warning (byte-identical to BUILTIN_AGENT_REGISTRY, §12.1) ──────────
|
|
39
|
+
stop_warning:
|
|
40
|
+
level: normal
|
|
41
|
+
services_lost:
|
|
42
|
+
- "Monthly synthesis note"
|
|
43
|
+
- "Month-end retrospective"
|
|
44
|
+
dependent_agents: []
|
|
45
|
+
reactivation_hint: "Monthly review is opt-in (monthlyReviewEnabled, default off). Re-enable from /agents/monthly-review."
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
# Monthly Review
|
|
49
|
+
|
|
50
|
+
Built-in routine — the execution prompt lives in the task-flow, not here.
|
|
51
|
+
See `agent-assets/task-flows/routine.monthly_review.md`.
|
|
52
|
+
|
|
53
|
+
Disabled by default pre-release: the scheduler consults
|
|
54
|
+
`config.monthlyReviewEnabled` (default `false`) before firing, and this
|
|
55
|
+
definition ships `enabled: false`.
|
|
@@ -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).
|