@aitne-sh/aitne 0.1.7 → 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +256 -833
- package/agent-assets/agent-profiles/_safety.md +52 -20
- package/agent-assets/agent-profiles/browser-task.md +108 -0
- package/agent-assets/agent-profiles/conversational.md +3 -3
- package/agent-assets/agent-profiles/profile-importer.md +3 -3
- package/agent-assets/agent-profiles/routine-fetch-window.md +30 -19
- package/agent-assets/agent-profiles/routine.md +4 -3
- package/agent-assets/agents/context-index-reconcile/agent.md +52 -0
- package/agent-assets/agents/evening-review/agent.md +53 -0
- package/agent-assets/agents/hourly-check/agent.md +62 -0
- package/agent-assets/agents/monthly-review/agent.md +55 -0
- package/agent-assets/agents/morning-routine/agent.md +78 -0
- package/agent-assets/agents/roadmap-maintenance/agent.md +52 -0
- package/agent-assets/agents/skill-curation/agent.md +52 -0
- package/agent-assets/agents/user-profile-sweep-evening/agent.md +48 -0
- package/agent-assets/agents/user-profile-sweep-morning/agent.md +53 -0
- package/agent-assets/agents/weekly-review/agent.md +51 -0
- package/agent-assets/docs/concepts/agent-day.md +18 -11
- package/agent-assets/docs/concepts/auth-health.md +56 -10
- package/agent-assets/docs/concepts/backends-and-tiers.md +110 -41
- package/agent-assets/docs/concepts/costs-and-quotas.md +74 -19
- package/agent-assets/docs/concepts/delegated-mode.md +193 -75
- package/agent-assets/docs/concepts/memory-model.md +79 -34
- package/agent-assets/docs/concepts/observations.md +61 -11
- package/agent-assets/docs/concepts/process-keys.md +66 -17
- package/agent-assets/docs/concepts/routines.md +77 -32
- package/agent-assets/docs/concepts/safety-and-execution.md +50 -21
- package/agent-assets/docs/concepts/safety-model.md +62 -37
- package/agent-assets/docs/concepts/skills.md +38 -17
- package/agent-assets/docs/features/integrations/browser-history.md +195 -0
- package/agent-assets/docs/features/integrations/calendar.md +40 -30
- package/agent-assets/docs/features/integrations/git.md +20 -9
- package/agent-assets/docs/features/integrations/github.md +93 -35
- package/agent-assets/docs/features/integrations/mail.md +60 -17
- package/agent-assets/docs/features/integrations/notion.md +51 -11
- package/agent-assets/docs/features/integrations/obsidian.md +35 -7
- package/agent-assets/docs/features/lifestyle/git.md +45 -44
- package/agent-assets/docs/features/lifestyle/reading.md +50 -22
- package/agent-assets/docs/features/lifestyle/receipts.md +66 -21
- package/agent-assets/docs/features/lifestyle/travel-bookings.md +91 -14
- package/agent-assets/docs/features/memory-files/agent-journal.md +111 -50
- package/agent-assets/docs/features/memory-files/projects.md +75 -15
- package/agent-assets/docs/features/memory-files/roadmap.md +55 -10
- package/agent-assets/docs/features/memory-files/schedule.md +113 -70
- package/agent-assets/docs/features/memory-files/today.md +47 -21
- package/agent-assets/docs/features/memory-files/user-profile.md +67 -31
- package/agent-assets/docs/features/messaging/bang-commands.md +115 -28
- package/agent-assets/docs/features/messaging/dashboard-chat.md +43 -21
- package/agent-assets/docs/features/messaging/discord.md +46 -4
- package/agent-assets/docs/features/messaging/overview.md +40 -19
- package/agent-assets/docs/features/messaging/pairing-and-magic-phrase.md +94 -27
- package/agent-assets/docs/features/messaging/slack.md +79 -14
- package/agent-assets/docs/features/messaging/telegram.md +25 -6
- package/agent-assets/docs/features/messaging/whatsapp.md +79 -14
- package/agent-assets/docs/features/operations/activity-and-conversations.md +45 -16
- package/agent-assets/docs/features/operations/approvals.md +53 -15
- package/agent-assets/docs/features/operations/backend-routing.md +75 -16
- package/agent-assets/docs/features/operations/cost-tracking.md +90 -17
- package/agent-assets/docs/features/operations/managed-chromium.md +221 -0
- package/agent-assets/docs/features/operations/notifications.md +58 -11
- package/agent-assets/docs/features/operations/quiet-hours.md +63 -40
- package/agent-assets/docs/features/operations/schedule-approaching.md +59 -16
- package/agent-assets/docs/features/routines/custom-routines.md +97 -23
- package/agent-assets/docs/features/routines/evening-review.md +75 -22
- package/agent-assets/docs/features/routines/hourly-check.md +150 -30
- package/agent-assets/docs/features/routines/morning-routine.md +60 -33
- package/agent-assets/docs/features/routines/weekly-review.md +65 -20
- package/agent-assets/docs/features/wiki/commands.md +37 -16
- package/agent-assets/docs/features/wiki/cost-and-approval.md +240 -0
- package/agent-assets/docs/features/wiki/dashboard.md +255 -0
- package/agent-assets/docs/features/wiki/overview.md +80 -12
- package/agent-assets/docs/features/wiki/search.md +248 -0
- package/agent-assets/docs/features/wiki/workspaces.md +254 -0
- package/agent-assets/docs/getting-started/01-what-is-this.md +64 -32
- package/agent-assets/docs/getting-started/02-first-steps.md +28 -10
- package/agent-assets/docs/getting-started/03-what-can-this-do.md +42 -21
- package/agent-assets/docs/getting-started/04-first-day.md +52 -20
- package/agent-assets/docs/glossary.md +285 -21
- package/agent-assets/docs/guides/add-a-custom-routine.md +74 -22
- package/agent-assets/docs/guides/backup-and-restore.md +92 -14
- package/agent-assets/docs/guides/budget-and-cost-for-wiki.md +62 -25
- package/agent-assets/docs/guides/build-your-wiki.md +33 -6
- package/agent-assets/docs/guides/change-which-model-handles-x.md +70 -9
- package/agent-assets/docs/guides/connect-a-new-mail-account.md +80 -15
- package/agent-assets/docs/guides/explore-with-trace-and-connect.md +32 -9
- package/agent-assets/docs/guides/import-knowledge-file.md +60 -39
- package/agent-assets/docs/guides/install-and-run.md +64 -19
- package/agent-assets/docs/guides/maintain-wiki-health.md +41 -10
- package/agent-assets/docs/guides/migrate-machines.md +86 -18
- package/agent-assets/docs/guides/multiple-wikis-for-multiple-domains.md +119 -59
- package/agent-assets/docs/guides/pause-the-agent.md +71 -22
- package/agent-assets/docs/guides/reinstall-cleanly.md +102 -17
- package/agent-assets/docs/guides/setup-wizard.md +126 -56
- package/agent-assets/docs/guides/switch-default-backend.md +72 -17
- package/agent-assets/docs/guides/use-an-existing-obsidian-vault.md +31 -10
- package/agent-assets/docs/reference/api.md +162 -23
- package/agent-assets/docs/reference/cli-commands.md +55 -15
- package/agent-assets/docs/reference/config.md +246 -39
- package/agent-assets/docs/reference/disallowed-tools.md +42 -10
- package/agent-assets/docs/reference/keyboard-shortcuts.md +47 -10
- package/agent-assets/docs/reference/knowledge-layout.md +620 -0
- package/agent-assets/docs/reference/process-keys.md +126 -20
- package/agent-assets/docs/reference/skills.md +62 -18
- package/agent-assets/docs/troubleshooting/auth-failed.md +53 -19
- package/agent-assets/docs/troubleshooting/dashboard-shows-degraded.md +96 -22
- package/agent-assets/docs/troubleshooting/fallback-keeps-firing.md +94 -20
- package/agent-assets/docs/troubleshooting/messaging-not-pairing.md +77 -22
- package/agent-assets/docs/troubleshooting/morning-routine-didnt-run.md +87 -22
- package/agent-assets/docs/troubleshooting/observation-not-detected.md +85 -21
- package/agent-assets/docs/troubleshooting/quota-exhausted.md +36 -6
- package/agent-assets/docs/troubleshooting/wiki-ingest-full-blocked.md +128 -51
- package/agent-assets/docs/troubleshooting/wiki-write-failed.md +33 -11
- package/agent-assets/optimizer-skills/drift-analysis/SKILL.md +1 -1
- package/agent-assets/optimizer-skills/knowledge-map/SKILL.md +1 -1
- package/agent-assets/optimizer-skills/skill-curation/SKILL.md +2 -2
- package/agent-assets/sandbox/linux/aitne-chromium.apparmor +91 -0
- package/agent-assets/sandbox/macos/aitne-chromium.sb +156 -0
- package/agent-assets/skills/agent-actions/SKILL.md +122 -0
- package/agent-assets/skills/agent-create/SKILL.md +149 -0
- package/agent-assets/skills/attach/SKILL.md +3 -4
- package/agent-assets/skills/browser-history/SKILL.md +198 -0
- package/agent-assets/skills/browser-history-respond/SKILL.md +106 -0
- package/agent-assets/skills/browser-task/SKILL.md +169 -0
- package/agent-assets/skills/context/SKILL.md +45 -463
- package/agent-assets/skills/context/curation.json +2 -2
- package/agent-assets/skills/context/references/api.md +232 -0
- package/agent-assets/skills/context/references/required-frontmatter.md +73 -0
- package/agent-assets/skills/context/references/snapshot-files.md +103 -0
- package/agent-assets/skills/context/seeds/file-responsibilities.seed.json +4 -4
- package/agent-assets/skills/docs-search/SKILL.md +17 -16
- package/agent-assets/skills/external-services/SKILL.delegated.claude.md +14 -26
- package/agent-assets/skills/external-services/SKILL.delegated.codex.md +14 -26
- package/agent-assets/skills/external-services/SKILL.delegated.gemini.md +14 -26
- package/agent-assets/skills/external-services/SKILL.md +9 -262
- package/agent-assets/skills/external-services/SKILL.native.claude.md +6 -7
- package/agent-assets/skills/external-services/SKILL.native.codex.md +8 -9
- package/agent-assets/skills/external-services/SKILL.native.gemini.md +5 -6
- package/agent-assets/skills/external-services/references/calendar-apple.md +97 -0
- package/agent-assets/skills/external-services/references/calendar-google.md +72 -0
- package/agent-assets/skills/external-services/references/calendar-outlook.md +36 -0
- package/agent-assets/skills/external-services/references/github.md +17 -0
- package/agent-assets/skills/external-services/references/obsidian.md +49 -0
- package/agent-assets/skills/external-services/references/skills-crud.md +27 -0
- package/agent-assets/skills/gmail-lifestyle/SKILL.md +151 -0
- package/agent-assets/skills/gmail-lifestyle/references/receipts-api.md +93 -0
- package/agent-assets/skills/gmail-lifestyle/references/travel-bookings-api.md +75 -0
- package/agent-assets/skills/mail/SKILL.delegated.claude.md +15 -6
- package/agent-assets/skills/mail/SKILL.delegated.codex.md +9 -5
- package/agent-assets/skills/mail/SKILL.delegated.gemini.md +9 -5
- package/agent-assets/skills/mail/SKILL.md +9 -114
- package/agent-assets/skills/mail/SKILL.native.claude.md +1 -1
- package/agent-assets/skills/mail/SKILL.native.codex.md +1 -1
- package/agent-assets/skills/mail/SKILL.native.gemini.md +1 -1
- package/agent-assets/skills/mail/references/api.md +110 -0
- package/agent-assets/skills/mail/references/examples.md +70 -0
- package/agent-assets/skills/mail/references/providers.md +8 -8
- package/agent-assets/skills/managed-tasks/SKILL.md +472 -0
- package/agent-assets/skills/managed-tasks/references/errors.md +73 -0
- package/agent-assets/skills/managed-tasks/references/output-path.md +75 -0
- package/agent-assets/skills/managed-tasks/references/recurrence-rule.md +86 -0
- package/agent-assets/skills/management-policy/SKILL.md +54 -125
- package/agent-assets/skills/management-policy/curation.json +1 -1
- package/agent-assets/skills/management-policy/references/policy-workflow.md +101 -0
- package/agent-assets/skills/management-policy/seeds/policy-file-shape.seed.json +1 -1
- package/agent-assets/skills/notify/SKILL.md +10 -82
- package/agent-assets/skills/notify/references/priority.md +65 -0
- package/agent-assets/skills/notion/SKILL.delegated.claude.md +2 -2
- package/agent-assets/skills/notion/SKILL.delegated.codex.md +2 -2
- package/agent-assets/skills/notion/SKILL.delegated.gemini.md +2 -2
- package/agent-assets/skills/notion/SKILL.md +6 -10
- package/agent-assets/skills/notion/SKILL.native.claude.md +11 -8
- package/agent-assets/skills/notion/SKILL.native.codex.md +10 -6
- package/agent-assets/skills/notion/SKILL.native.gemini.md +10 -6
- package/agent-assets/skills/observations/SKILL.md +25 -14
- package/agent-assets/skills/project-doc/SKILL.md +2 -6
- package/agent-assets/skills/project-doc/curation.json +3 -3
- package/agent-assets/skills/project-doc/seeds/project-shape.seed.json +7 -4
- package/agent-assets/skills/project-doc/seeds/slug-grammar.seed.json +3 -3
- package/agent-assets/skills/reading/SKILL.md +12 -2
- package/agent-assets/skills/reading/references/reading-taste.md +2 -2
- package/agent-assets/skills/roadmap/SKILL.md +43 -141
- package/agent-assets/skills/roadmap/curation.json +1 -1
- package/agent-assets/skills/roadmap/references/api.md +100 -0
- package/agent-assets/skills/roadmap/references/cross-check.md +80 -0
- package/agent-assets/skills/roadmap/references/migration.md +56 -0
- package/agent-assets/skills/roadmap/references/preparation-timeline.md +2 -2
- package/agent-assets/skills/roadmap/seeds/entry-types.seed.json +1 -1
- package/agent-assets/skills/schedule/SKILL.md +76 -104
- package/agent-assets/skills/schedule/references/batch.md +93 -0
- package/agent-assets/skills/schedule/references/errors.md +217 -0
- package/agent-assets/skills/schedule/references/model-selection.md +96 -0
- package/agent-assets/skills/schedule/references/recurrence-rule.md +86 -0
- package/agent-assets/skills/scheduled-managed-task/SKILL.md +59 -51
- package/agent-assets/skills/today/SKILL.md +32 -62
- package/agent-assets/skills/today/curation.json +3 -3
- package/agent-assets/skills/today/references/agent-plan-lifecycle.md +114 -0
- package/agent-assets/skills/today/seeds/section-shape.seed.json +1 -1
- package/agent-assets/skills/user-interview/SKILL.md +23 -67
- package/agent-assets/skills/user-interview/references/op-briefing.md +51 -0
- package/agent-assets/skills/user-interview/references/op-morning.md +59 -0
- package/agent-assets/skills/user-interview/references/sweep-and-fallback.md +9 -1
- package/agent-assets/skills/user-profile/SKILL.md +54 -74
- package/agent-assets/skills/user-profile/curation.json +2 -2
- package/agent-assets/skills/user-profile/references/character-preferences.md +83 -0
- package/agent-assets/skills/user-profile/seeds/routing-table.seed.json +8 -8
- package/agent-assets/skills/user-profile/seeds/topic-files.seed.json +30 -2
- package/agent-assets/skills/wiki/wiki-ask/SKILL.md +0 -1
- package/agent-assets/skills/wiki/wiki-compile/SKILL.md +4 -5
- package/agent-assets/skills/wiki/wiki-connect/SKILL.md +0 -1
- package/agent-assets/skills/wiki/wiki-graduate/SKILL.md +0 -1
- package/agent-assets/skills/wiki/wiki-ingest/SKILL.md +0 -1
- package/agent-assets/skills/wiki/wiki-lint/SKILL.md +0 -1
- package/agent-assets/skills/wiki/wiki-trace/SKILL.md +0 -1
- package/agent-assets/skills/wiki/wiki-vault-rules/SKILL.md +0 -1
- package/agent-assets/system-prompts/routine-fetch-window.md +78 -0
- package/agent-assets/system-prompts/skill-index-instruction.md +26 -0
- package/agent-assets/task-flows/_partials/calendar-acquire.google_calendar.md +20 -11
- package/agent-assets/task-flows/_partials/calendar-acquire.outlook_calendar.md +18 -9
- package/agent-assets/task-flows/_partials/capture-user-info.md +24 -0
- package/agent-assets/task-flows/_partials/confirm-subflow.md +68 -0
- package/agent-assets/task-flows/_partials/dm-intent.long-horizon.md +35 -0
- package/agent-assets/task-flows/_partials/dm-intent.project.md +391 -0
- package/agent-assets/task-flows/_partials/mail-acquire.gmail.md +20 -11
- package/agent-assets/task-flows/_partials/mail-acquire.outlook_mail.md +18 -9
- package/agent-assets/task-flows/_partials/notion-acquire.notion.md +26 -15
- package/agent-assets/task-flows/browser_task.md +84 -0
- package/agent-assets/task-flows/github.assigned.md +1 -1
- package/agent-assets/task-flows/github.pull_request.review_requested.md +2 -2
- package/agent-assets/task-flows/github.workflow_run.failed.md +2 -2
- package/agent-assets/task-flows/knowledge.import.md +15 -15
- package/agent-assets/task-flows/message.received.dm.md +20 -17
- package/agent-assets/task-flows/message.received.dm_first.md +11 -15
- package/agent-assets/task-flows/routine.custom.md +6 -4
- package/agent-assets/task-flows/routine.evening_review.md +46 -170
- package/agent-assets/task-flows/routine.fetch_window.md +19 -14
- package/agent-assets/task-flows/routine.hourly_check.md +27 -15
- package/agent-assets/task-flows/routine.hourly_check.triage.md +1 -1
- package/agent-assets/task-flows/routine.monthly_review.md +67 -25
- package/agent-assets/task-flows/routine.morning_routine_journal.md +135 -0
- package/agent-assets/task-flows/routine.morning_routine_today.md +673 -0
- package/agent-assets/task-flows/routine.research_cluster_update.md +35 -0
- package/agent-assets/task-flows/routine.research_dispatch.md +38 -0
- package/agent-assets/task-flows/routine.research_offer_dm.md +125 -0
- package/agent-assets/task-flows/routine.research_wiki_summary.md +53 -0
- package/agent-assets/task-flows/routine.roadmap_refresh.md +68 -23
- package/agent-assets/task-flows/routine.today_refresh.md +4 -4
- package/agent-assets/task-flows/routine.user_profile_sweep.md +19 -20
- package/agent-assets/task-flows/routine.weekly_review.md +370 -86
- package/agent-assets/task-flows/schedule.approaching.md +0 -1
- package/agent-assets/task-flows/scheduled.dm.md +13 -13
- package/agent-assets/task-flows/scheduled.task.md +9 -9
- package/agent-assets/task-flows/setup.initial.md +171 -251
- package/agent-assets/task-flows/setup.update.md +2 -2
- package/agent-assets/task-flows/wiki.ingest_url.md +1 -1
- package/agent-assets/templates/README.md +27 -20
- package/agent-assets/templates/_index.md +42 -26
- package/agent-assets/templates/_manifest.json +34 -99
- package/agent-assets/templates/{user → identity}/_index.md +1 -1
- package/agent-assets/templates/identity/expertise.md +9 -0
- package/agent-assets/templates/identity/goals.md +9 -0
- package/agent-assets/templates/identity/people.md +13 -0
- package/agent-assets/templates/identity/personal.md +9 -0
- package/agent-assets/templates/{user → identity}/profile.md +2 -2
- package/agent-assets/templates/identity/work.md +9 -0
- package/agent-assets/templates/{dossiers → knowledge/dossiers}/_index.md +2 -2
- package/agent-assets/templates/{projects → plans/projects}/_active.base +1 -1
- package/agent-assets/templates/policies/_index.md +21 -0
- package/agent-assets/templates/{rules → policies}/journal-export.md +1 -1
- package/agent-assets/templates/policies/journal-format.md +168 -0
- package/agent-assets/templates/{rules/policies → policies/management-captures}/_index.md +2 -2
- package/agent-assets/templates/{rules → policies}/management.md +3 -3
- package/agent-assets/templates/{rules → policies}/mcp.md +1 -1
- package/agent-assets/templates/{rules → policies}/redaction.md +1 -1
- package/agent-assets/templates/{routines → policies/routines}/_index.md +1 -1
- package/agent-assets/templates/{routines → policies/routines}/evening.md +2 -2
- package/agent-assets/templates/{routines → policies/routines}/hourly.md +1 -1
- package/agent-assets/templates/{routines → policies/routines}/monthly.md +2 -2
- package/bin/aitne.mjs +21 -5
- package/package.json +5 -4
- package/scripts/commands/doctor.mjs +63 -5
- package/scripts/commands/run-now.mjs +187 -0
- package/scripts/commands/verify.mjs +264 -0
- package/scripts/lib/ports.d.mts +27 -0
- package/scripts/lib/ports.mjs +36 -0
- package/scripts/lib/read-api-token.mjs +176 -0
- package/scripts/start.mjs +2 -1
- package/agent-assets/docs/features/lifestyle/travel-time.md +0 -52
- package/agent-assets/docs/features/routines/monthly-review.md +0 -65
- package/agent-assets/skills/management-task-modify/SKILL.md +0 -203
- package/agent-assets/skills/management-task-register/SKILL.md +0 -330
- package/agent-assets/skills/management-task-stop/SKILL.md +0 -166
- package/agent-assets/skills/receipts/SKILL.md +0 -134
- package/agent-assets/skills/travel/SKILL.md +0 -132
- package/agent-assets/skills/travel-time/SKILL.md +0 -158
- package/agent-assets/task-flows/routine.morning_routine.md +0 -322
- package/agent-assets/task-flows/routine.morning_routine_initial.md +0 -204
- package/agent-assets/templates/context-index.md +0 -42
- package/agent-assets/templates/rules/_index.md +0 -19
- package/agent-assets/templates/rules/journal-format.md +0 -61
- package/agent-assets/templates/user/expertise.md +0 -7
- package/agent-assets/templates/user/goals.md +0 -7
- package/agent-assets/templates/user/people.md +0 -7
- package/agent-assets/templates/user/personal.md +0 -7
- package/agent-assets/templates/user/work.md +0 -7
- /package/agent-assets/templates/{agent/journal.md → journal/agent.md} +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/evening.md +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/hourly.md +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/monthly.md +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/morning.md +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/roadmap.md +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/weekly.md +0 -0
- /package/agent-assets/templates/{projects → plans/projects}/_index.md +0 -0
- /package/agent-assets/templates/{roadmap.md → plans/roadmap.md} +0 -0
- /package/agent-assets/templates/{routines → policies/routines}/morning.md +0 -0
- /package/agent-assets/templates/{routines → policies/routines}/weekly.md +0 -0
- /package/agent-assets/templates/{agent → state}/profile-questions.md +0 -0
- /package/agent-assets/templates/{today.md → state/today.md} +0 -0
|
@@ -272,18 +272,18 @@ voice carries the whole message.
|
|
|
272
272
|
- Tasks list: cap 10, append `...and N more` if over.
|
|
273
273
|
- Overnight: cap 5 per category (mail / dm / calendar).
|
|
274
274
|
- No internal names ("Morning Routine", "Agent Plan",
|
|
275
|
-
"scheduled.dm", "today.md") in user-facing text.
|
|
275
|
+
"scheduled.dm", "state/today.md") in user-facing text.
|
|
276
276
|
- Forbidden openers across all variants: "Morning briefing —",
|
|
277
277
|
"Morning briefing delivered", "Here's your day".
|
|
278
278
|
|
|
279
279
|
### Delivery channel — final text only, NOT `/api/notify`
|
|
280
280
|
|
|
281
281
|
The briefing is delivered as the final assistant turn of this
|
|
282
|
-
session. Do NOT call `POST /api/notify` for it — that path
|
|
283
|
-
the `notify` skill's
|
|
284
|
-
|
|
285
|
-
Compose the briefing as your final assistant turn; the daemon
|
|
286
|
-
it automatically.
|
|
282
|
+
session. Do NOT call `POST /api/notify` for it — that path is for
|
|
283
|
+
ad-hoc alerts and applies the `notify` skill's universal
|
|
284
|
+
message-discipline rules, which have the wrong semantics for a daily
|
|
285
|
+
DM. Compose the briefing as your final assistant turn; the daemon
|
|
286
|
+
DMs it automatically.
|
|
287
287
|
|
|
288
288
|
### Bookkeeping (silent — never visible to the user)
|
|
289
289
|
|
|
@@ -305,7 +305,7 @@ occurring outgoing-DM opportunities to slip a question in without it
|
|
|
305
305
|
feeling cold. Use the **user-interview** skill's "Operation 3 — Latent
|
|
306
306
|
piggyback" recipe:
|
|
307
307
|
|
|
308
|
-
1. GET `
|
|
308
|
+
1. GET `state/profile-questions.md` ## In Progress. If no entry has
|
|
309
309
|
`state=latent`, skip this section entirely.
|
|
310
310
|
1.5 **Slot-filled pre-check.** GET
|
|
311
311
|
`/api/profile-questions/slot-filled?path=<target>§ion=<section?>&anchor=<anchor?>`.
|
|
@@ -352,7 +352,7 @@ recipe:
|
|
|
352
352
|
|
|
353
353
|
### Step 1 — Fire-time abort (Layer 3)
|
|
354
354
|
|
|
355
|
-
GET `
|
|
355
|
+
GET `state/profile-questions.md` and the row's `<target_path>`. Call:
|
|
356
356
|
|
|
357
357
|
```bash
|
|
358
358
|
curl -s "http://localhost:8321/api/profile-questions/slot-filled?path=<target>§ion=<section?>&anchor=<anchor?>"
|
|
@@ -460,7 +460,7 @@ Inspect `<recent_dm_messages window="60min">`:
|
|
|
460
460
|
"time": "<current_time + 15min, ISO 8601 with offset>",
|
|
461
461
|
"taskType": "dm_session",
|
|
462
462
|
"description": "confirm:<topic> — <hint>",
|
|
463
|
-
"
|
|
463
|
+
"tier": "medium",
|
|
464
464
|
"taskContext": {
|
|
465
465
|
"scheduledBy": "scheduled_dm.confirm_followup.self_defer",
|
|
466
466
|
"sub_flow": "confirm",
|
|
@@ -623,12 +623,12 @@ handled in one read-then-branch sequence:
|
|
|
623
623
|
```
|
|
624
624
|
|
|
625
625
|
`<confirm_decline_marker.path>` is the value from `taskContext`
|
|
626
|
-
(e.g. `agent
|
|
626
|
+
(e.g. `journal/agent.md`). The endpoint accepts the path with or
|
|
627
627
|
without the `.md` suffix.
|
|
628
628
|
|
|
629
629
|
2. Branch on status + section presence:
|
|
630
630
|
- **status=404 (file missing).** Some marker paths
|
|
631
|
-
(`agent
|
|
631
|
+
(`journal/agent`) support `PUT` for first-write creation via the
|
|
632
632
|
daemon's CREATE_ONLY_PUT allowlist. PUT a minimal file
|
|
633
633
|
containing an H1, the section header, and the new marker line:
|
|
634
634
|
```bash
|
|
@@ -775,7 +775,7 @@ curl -s -X POST http://localhost:8321/api/schedule \
|
|
|
775
775
|
"time": "<current_time + 24h, ISO 8601 with offset>",
|
|
776
776
|
"taskType": "dm_session",
|
|
777
777
|
"description": "confirm:<topic> — <hint, softened paraphrase>",
|
|
778
|
-
"
|
|
778
|
+
"tier": "medium",
|
|
779
779
|
"taskContext": {
|
|
780
780
|
"scheduledBy": "scheduled_dm.confirm_followup.retry",
|
|
781
781
|
"sub_flow": "confirm",
|
|
@@ -817,7 +817,7 @@ curl -s -X POST http://localhost:8321/api/schedule \
|
|
|
817
817
|
"time": "<current_time + 24h, ISO 8601 with offset>",
|
|
818
818
|
"taskType": "dm_session",
|
|
819
819
|
"description": "confirm:<topic> — silence-evaluator",
|
|
820
|
-
"
|
|
820
|
+
"tier": "medium",
|
|
821
821
|
"taskContext": {
|
|
822
822
|
"scheduledBy": "scheduled_dm.confirm_followup.evaluator",
|
|
823
823
|
"sub_flow": "confirm",
|
|
@@ -26,7 +26,7 @@ message the user reads — plan the closing turn accordingly.
|
|
|
26
26
|
- **Non-empty only when** the task's job is to deliver a short message
|
|
27
27
|
AND you did not call `/api/notify`. Write the message itself, not a
|
|
28
28
|
meta-report about it.
|
|
29
|
-
- **Never name internal mechanisms** in the final text: no `today.md`,
|
|
29
|
+
- **Never name internal mechanisms** in the final text: no `state/today.md`,
|
|
30
30
|
`## Agent Plan`, `## Agent Log`, `did-not-fire`, "DM sent", "logged",
|
|
31
31
|
"closed the row" — those go in Agent Log only. The same rule applies
|
|
32
32
|
in whatever language you respond to the user; no status-word openers
|
|
@@ -89,16 +89,16 @@ confirmation.
|
|
|
89
89
|
off 30 s and retry up to 3 times. If still held, **skip the
|
|
90
90
|
roadmap flip entirely** — the next refresh reconciles — and
|
|
91
91
|
proceed to Step 3 below so the task still executes.
|
|
92
|
-
2. `GET /api/context/roadmap` and locate the matching
|
|
92
|
+
2. `GET /api/context/plans/roadmap` and locate the matching
|
|
93
93
|
`### Scheduled: ... (task #<id>) <!-- id: rm-... -->` entry.
|
|
94
|
-
Flip only its Status line to
|
|
94
|
+
Flip only its Status line to `running` via `PATCH`
|
|
95
95
|
`section=agent_action_plan` `mode=replace` (include
|
|
96
96
|
`X-Lock-Id: <lockId>`). Preserve the heading ID marker and any
|
|
97
|
-
|
|
97
|
+
`completed ...` Preparation Timeline rows byte-for-byte.
|
|
98
98
|
Follow the **roadmap** skill for the exact entry shape.
|
|
99
99
|
3. Execute the task body (the remaining steps in this prompt).
|
|
100
100
|
4. After Step 4 closes the loop, PATCH the entry Status to
|
|
101
|
-
|
|
101
|
+
`completed` / `failed` (`X-Lock-Id: <lockId>`), then
|
|
102
102
|
`DELETE /api/context/lock/roadmap` with `{"lockId": "<lockId>"}`
|
|
103
103
|
— always release even on failure paths.
|
|
104
104
|
|
|
@@ -129,13 +129,13 @@ confirmation.
|
|
|
129
129
|
7. If Step 1 found a matching Agent Plan row, flip it to `- [x]` via the
|
|
130
130
|
lifecycle recipe in the context skill (GET → edit body → PATCH
|
|
131
131
|
replace section=agent_plan). Annotate per the skill's outcome table:
|
|
132
|
-
success = no annotation, skip =
|
|
133
|
-
|
|
132
|
+
success = no annotation, skip = `(skipped: <reason>)`, failure =
|
|
133
|
+
`(failed: <reason>)`. Never leave a past-HH:MM row as `[ ]`.
|
|
134
134
|
8. If the PATCH returns 409 (Morning Routine lock), follow the skill's
|
|
135
135
|
"retry 3 times, else log deferred" guidance. Do not drop silently.
|
|
136
136
|
|
|
137
137
|
### Step 5: Follow-up (optional)
|
|
138
138
|
9. Register follow-up wake-ups if the action produced new work (schedule skill).
|
|
139
139
|
10. For additional context if needed:
|
|
140
|
-
- GET /api/context/roadmap — long-term goals and milestones
|
|
141
|
-
- GET /api/context/projects/_active — active projects summary
|
|
140
|
+
- GET /api/context/plans/roadmap — long-term goals and milestones
|
|
141
|
+
- GET /api/context/plans/projects/_active — active projects summary
|
|
@@ -1,250 +1,149 @@
|
|
|
1
1
|
{context}
|
|
2
2
|
|
|
3
|
-
## Task: Initial Setup — Create
|
|
4
|
-
|
|
5
|
-
The
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
`<output_language_policy>`.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
file — e.g. `PUT /api/context/user/profile` — are Autonomous-tier and
|
|
37
|
-
work normally.)
|
|
38
|
-
|
|
39
|
-
Tags available in the prompt:
|
|
40
|
-
|
|
41
|
-
- `<integration_modes …/>` — one attribute per integration. Always
|
|
42
|
-
present, always covers every key. Example:
|
|
43
|
-
`<integration_modes gmail="disabled" google_calendar="direct" notion="delegated" notion_delegated_to="claude" outlook_calendar="disabled" outlook_mail="disabled" git="disabled" github="disabled" />`.
|
|
44
|
-
Values are `direct | delegated | disabled`.
|
|
45
|
-
- `<obsidian_vault_path>…</obsidian_vault_path>` — emitted **iff** the
|
|
46
|
-
user has configured an external Obsidian vault. **Absence means the
|
|
47
|
-
user has no external Obsidian vault** (treat as "no").
|
|
3
|
+
## Task: Initial Setup — Create policies/management.md
|
|
4
|
+
|
|
5
|
+
The dashboard wizard already captured `settings.primary_language` and
|
|
6
|
+
`settings.vault_mode`. Steps 4–6 (Mail / Calendar / Note) configured
|
|
7
|
+
the user's integrations. Your role:
|
|
8
|
+
derive an initial Source-of-Truth table from those integrations,
|
|
9
|
+
confirm it with the user, gather two remaining preferences, and
|
|
10
|
+
generate policies/management.md.
|
|
11
|
+
|
|
12
|
+
Output language: follow `<output_language_policy>`. The conversation
|
|
13
|
+
matches the user's input language.
|
|
14
|
+
|
|
15
|
+
This is a **strictly two-turn** dashboard conversation. The same prompt
|
|
16
|
+
renders every turn — decide which turn you're on by inspecting prior
|
|
17
|
+
assistant messages.
|
|
18
|
+
|
|
19
|
+
| Turn | Trigger | What you emit |
|
|
20
|
+
|------|---------|---------------|
|
|
21
|
+
| Turn 1 | No prior assistant message | One natural-language message: greeting + derived Source-of-Truth table + remaining questions. **No code blocks. No curl.** |
|
|
22
|
+
| Turn 2 | The most recent prior assistant message was Turn 1 and the user has now replied | `management-rules` block **FIRST**, then optional `character` block, then silent PUT /api/context/identity/profile + any user/*.md PATCHes |
|
|
23
|
+
| Turn 3+ | User requested revisions after Turn 2 | Revised `management-rules` block only (cap: 2 revision rounds). No curl writes — they already ran in Turn 2. |
|
|
24
|
+
|
|
25
|
+
### Step 0 (silent) — Derive Source-of-Truth from context tags
|
|
26
|
+
|
|
27
|
+
Read these tags from the prompt context. Do **NOT** curl
|
|
28
|
+
`/api/integrations` or `/api/config` — both are Approve-tier and the
|
|
29
|
+
agent's session has only an `X-Read-Token`, so those reads return 401.
|
|
30
|
+
|
|
31
|
+
- `<integration_modes …/>` — one attribute per integration, always
|
|
32
|
+
emitted. Values are `direct | delegated | native | disabled`. Any
|
|
33
|
+
value other than `disabled` means the integration is wired up.
|
|
34
|
+
- `<obsidian_vault_path>…</obsidian_vault_path>` — present **iff** the
|
|
35
|
+
user has configured an external Obsidian vault. Absence means "no".
|
|
48
36
|
- `<settings primary_language="…" vault_mode="…" />` — primary
|
|
49
|
-
language and primary-vault layout
|
|
37
|
+
language and primary-vault layout.
|
|
50
38
|
|
|
51
|
-
|
|
39
|
+
Derive the four rows:
|
|
52
40
|
|
|
53
41
|
| Source-of-Truth row | Derive from |
|
|
54
42
|
|---|---|
|
|
55
|
-
| Schedule | `google_calendar != "disabled"` → `Google Calendar`; else `outlook_calendar != "disabled"` → `Outlook Calendar`; else ask
|
|
56
|
-
| Notes | `<obsidian_vault_path>`
|
|
57
|
-
| Tasks | `notion != "disabled"` → `Notion`; else
|
|
43
|
+
| Schedule | `google_calendar != "disabled"` → `Google Calendar`; else `outlook_calendar != "disabled"` → `Outlook Calendar`; else ask |
|
|
44
|
+
| Notes | `<obsidian_vault_path>` present → `Obsidian`; else `notion != "disabled"` → `Notion`; else ask |
|
|
45
|
+
| Tasks | `notion != "disabled"` → `Notion`; else `<obsidian_vault_path>` present → `Obsidian`; else ask |
|
|
58
46
|
| Projects | same precedence as Tasks |
|
|
59
47
|
|
|
60
|
-
|
|
61
|
-
(
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
"
|
|
104
|
-
block.
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
## Identity
|
|
161
|
-
(leave bullets blank — setup does not collect name or timezone)
|
|
162
|
-
|
|
163
|
-
## Work Pattern
|
|
164
|
-
- Working hours: Weekdays 09:00–18:00
|
|
165
|
-
|
|
166
|
-
## Platforms
|
|
167
|
-
- Schedule: {from derived Source-of-Truth table}
|
|
168
|
-
- Tasks: {from derived Source-of-Truth table}
|
|
169
|
-
- Notes: {from derived Source-of-Truth table}
|
|
170
|
-
- Projects: {from derived Source-of-Truth table}
|
|
171
|
-
|
|
172
|
-
## Expertise
|
|
173
|
-
- {one-line summary if the user mentioned their field; otherwise leave empty}
|
|
174
|
-
|
|
175
|
-
## Notification Preferences
|
|
176
|
-
- Quiet hours: 22:00–08:00
|
|
177
|
-
|
|
178
|
-
## Learned Context
|
|
179
|
-
|
|
180
|
-
## Raw Signals
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
Use today's YYYY-MM-DD for `updated` (the date above is only an example).
|
|
184
|
-
Do not omit `## Notification Preferences` — Morning Routine reads it directly.
|
|
185
|
-
|
|
186
|
-
### How to submit user/profile.md
|
|
187
|
-
|
|
188
|
-
Use inline `-d '{"content": "..."}'` with `\n` escapes. Do NOT use
|
|
189
|
-
`-d @-`, heredoc pipelines, or `--data-raw '@-'` — those have
|
|
190
|
-
produced malformed bodies in this flow (server saw literal `@-` and
|
|
191
|
-
returned 500).
|
|
192
|
-
|
|
193
|
-
```bash
|
|
194
|
-
curl -s -X PUT http://localhost:8321/api/context/user/profile \
|
|
195
|
-
-H 'Content-Type: application/json' \
|
|
196
|
-
-d '{"content": "---\ntype: user\nowner: shared\nupdated: 2026-04-23\n---\n<!-- DO NOT write tone / style / voice / formality / verbosity / emoji / language preferences in this file. Those are Character-field content — write them via PATCH http://localhost:8321/api/config/character with {\"character\": \"...\"}. This file is for USER FACTS only: identity, expertise, habits, relationships, goals. -->\n# User\n> Primary profile injected into every session.\n> Detailed profile lives under `user/`.\n> Fetch index: `curl -s http://localhost:8321/api/context/user/_index`\n\n## Identity\n\n## Work Pattern\n- Working hours: Weekdays 09:00–18:00\n\n## Platforms\n- Schedule: Google Calendar\n- Notes: Obsidian\n- Projects: Notion\n\n## Expertise\n\n## Notification Preferences\n- Quiet hours: 22:00–08:00\n\n## Learned Context\n\n## Raw Signals\n"}'
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
If the response is non-2xx, retry once with a smaller body or switch
|
|
200
|
-
to section-level PATCH. Do not report the error to the user as a
|
|
201
|
-
permission issue — the default allowlist includes `Bash(curl *)`.
|
|
202
|
-
|
|
203
|
-
### Character code block format
|
|
204
|
-
|
|
205
|
-
If the user answered the communication-style question with an actual
|
|
206
|
-
preference (not "no preference" / "skip"), emit a ```character``` code
|
|
207
|
-
block in the same turn the management-rules block is emitted:
|
|
208
|
-
|
|
209
|
-
```character
|
|
210
|
-
Speak casually. Tight bullets. No emojis.
|
|
211
|
-
```
|
|
212
|
-
|
|
213
|
-
Rules for the block body:
|
|
214
|
-
- The body is raw text — no markdown, no outer quotes, no nested fences.
|
|
215
|
-
- Stay under the 1000-char cap; surface the excess to the user rather
|
|
216
|
-
than silently truncating.
|
|
217
|
-
- Emit **at most one** character block per turn.
|
|
218
|
-
|
|
219
|
-
The dashboard extracts this block, stages it into an inline editor
|
|
220
|
-
alongside the Management Rules Preview, and PATCHes `/api/config`
|
|
221
|
-
atomically when the user clicks Save & Finish. **Do NOT call `/api/config/character` (or any `/api/config*`) yourself from the agent during setup.**
|
|
222
|
-
|
|
223
|
-
If the user did not state a preference, omit the block entirely — the
|
|
224
|
-
dashboard will leave the existing `character` value unchanged.
|
|
225
|
-
|
|
226
|
-
The character value is written verbatim into every session's
|
|
227
|
-
CLAUDE.md / AGENTS.md / GEMINI.md (between the safety preamble and
|
|
228
|
-
the profile body) uniformly across Claude, Codex, and Gemini. Never
|
|
229
|
-
write tone/style preferences into user/profile.md.
|
|
230
|
-
|
|
231
|
-
### rules/management.md Format
|
|
232
|
-
|
|
233
|
-
Output language: follow `<output_language_policy>`. rules/management.md
|
|
234
|
-
is Policy B — the section headers (`## Agent Identity`, `## Source of
|
|
235
|
-
Truth`, `## Autonomy Levels`, `## Notification Rules`, `## Schedule`,
|
|
236
|
-
`## Project Management`) are skeleton and stay English; the descriptive
|
|
237
|
-
bullets under `## Autonomy Levels`, `## Notification Rules`, `## Schedule`,
|
|
238
|
-
and `## Project Management` are written in `<settings primary_language>`.
|
|
239
|
-
File-specific carve-outs that also stay English: the `## Agent Identity`
|
|
240
|
-
field labels (`- AI name:`, `- WhatsApp label:`) — the daemon parses and
|
|
241
|
-
rewrites this section; the Source of Truth table column headers and
|
|
242
|
-
Domain-column row labels; and product/brand cells (`Google Calendar`,
|
|
243
|
-
`Obsidian`, `Notion`, `today.md`, `projects/*.md`).
|
|
244
|
-
|
|
245
|
-
Fill the Source of Truth table from the **derived rows you confirmed
|
|
246
|
-
with the user in Step 0** (Schedule / Tasks / Notes / Projects).
|
|
247
|
-
Generate using this format:
|
|
48
|
+
Defensive fallback: if `<integration_modes>` is missing from the prompt
|
|
49
|
+
(shouldn't happen), ask the user about all four rows rather than
|
|
50
|
+
fabricating defaults. Do not retry with a curl.
|
|
51
|
+
|
|
52
|
+
### Turn 1 — Greet, present derived table, ask questions
|
|
53
|
+
|
|
54
|
+
Emit ONE natural-language message containing:
|
|
55
|
+
|
|
56
|
+
1. A one-line greeting using `<agent_identity>` display_name.
|
|
57
|
+
2. The derived Source-of-Truth table ("Here's what I picked up from
|
|
58
|
+
your setup — does this look right?").
|
|
59
|
+
3. Any **rows you could NOT infer** (typically zero or one).
|
|
60
|
+
4. Two preference questions in the **same** message — no `Q1`/`Q2`
|
|
61
|
+
labels, speak naturally:
|
|
62
|
+
- Communication style — how should the agent talk to you?
|
|
63
|
+
(e.g., concise, casual, no emojis). Skip is OK.
|
|
64
|
+
- Project-management preferences — any preferences for how the
|
|
65
|
+
agent should handle your projects? (e.g., weekly milestones,
|
|
66
|
+
design doc before code). Skip is OK.
|
|
67
|
+
|
|
68
|
+
Hard rules for Turn 1:
|
|
69
|
+
|
|
70
|
+
- Do **NOT** emit a `management-rules` code block.
|
|
71
|
+
- Do **NOT** emit a `character` code block.
|
|
72
|
+
- Do **NOT** call any curl.
|
|
73
|
+
|
|
74
|
+
Then wait for the user's reply.
|
|
75
|
+
|
|
76
|
+
A common failure mode here is the model treating Turn 1 as a one-shot
|
|
77
|
+
"produce the document" task and emitting `management-rules` before
|
|
78
|
+
the user has answered — the dashboard would silently lock in default
|
|
79
|
+
preferences on the unanswered Turn-1 emission. Don't.
|
|
80
|
+
|
|
81
|
+
### Turn 2 — After the user replies, emit the artifacts
|
|
82
|
+
|
|
83
|
+
In this exact order:
|
|
84
|
+
|
|
85
|
+
1. Emit the `management-rules` code block **FIRST** — the dashboard
|
|
86
|
+
reveals the preview as soon as the block lands, so emitting it
|
|
87
|
+
first makes visible-progress immediate. Use the template in
|
|
88
|
+
"policies/management.md Format" below.
|
|
89
|
+
|
|
90
|
+
2. If the user stated a tone / style preference (not "no preference" /
|
|
91
|
+
"skip"), emit a `character` code block immediately after — see
|
|
92
|
+
"Character code block format" below. Omit the block entirely if
|
|
93
|
+
they skipped.
|
|
94
|
+
**Do NOT put communication style inside policies/management.md, and do NOT put it inside identity/profile.md.**
|
|
95
|
+
Tone / style / voice / formality / emoji / language preferences
|
|
96
|
+
live in the `character` runtime-config field only.
|
|
97
|
+
|
|
98
|
+
3. Silently PUT /api/context/identity/profile using the
|
|
99
|
+
"identity/profile.md Format" template below. Working hours and quiet
|
|
100
|
+
hours pre-populate with defaults (Weekdays 09:00–18:00,
|
|
101
|
+
Quiet hours 22:00–08:00) — do not ask. Fill Platforms from the
|
|
102
|
+
**derived Source-of-Truth table** (Step 0). Leave Identity blank —
|
|
103
|
+
setup does not collect name or timezone.
|
|
104
|
+
|
|
105
|
+
4. If the user shared detail-heavy facts in their reply, PATCH the
|
|
106
|
+
matching `user/*.md` file. **Only seed what the user actually
|
|
107
|
+
stated — do not invent or infer.**
|
|
108
|
+
|
|
109
|
+
| Fact type | File |
|
|
110
|
+
|-----------|------|
|
|
111
|
+
| Named colleagues, family, friends | identity/people.md |
|
|
112
|
+
| Current company, role specifics, ongoing projects | identity/work.md |
|
|
113
|
+
| Specific frameworks, years of experience | identity/expertise.md |
|
|
114
|
+
| Long-term goals, aspirations | identity/goals.md |
|
|
115
|
+
| Hobbies, lifestyle habits, dietary notes | identity/personal.md |
|
|
116
|
+
|
|
117
|
+
See the user-profile skill for the read-before-write PATCH recipe
|
|
118
|
+
and the `section_not_found` → `append_to_file` first-write
|
|
119
|
+
fallback. (identity/profile.md `## Expertise` keeps a one-line summary
|
|
120
|
+
only — detailed framework history goes to identity/expertise.md.)
|
|
121
|
+
|
|
122
|
+
**Important**: Do NOT curl-write policies/management.md yourself. The
|
|
123
|
+
dashboard persists it via `POST /setup/save-rules` when the user
|
|
124
|
+
clicks Save & Finish. Do NOT PATCH /api/config/character either —
|
|
125
|
+
the dashboard stages the `character` block and writes it atomically
|
|
126
|
+
on Save & Finish.
|
|
127
|
+
|
|
128
|
+
### Turn 3+ — Revisions (cap: 2 rounds)
|
|
129
|
+
|
|
130
|
+
If the user requests changes, revise the `management-rules` block and
|
|
131
|
+
re-emit it. Hard cap: **at most 2 revision rounds** total. Do NOT
|
|
132
|
+
re-run the Turn-2 curl writes — they already persisted. The dashboard
|
|
133
|
+
saves the revised rules block on Save & Finish.
|
|
134
|
+
|
|
135
|
+
### policies/management.md Format
|
|
136
|
+
|
|
137
|
+
Output language: section headers stay English (the daemon parses
|
|
138
|
+
them); descriptive bullets under `## Autonomy Levels`, `## Notification
|
|
139
|
+
Rules`, `## Schedule`, `## Project Management` follow `<settings
|
|
140
|
+
primary_language>`. Also stay English: `## Agent Identity` field
|
|
141
|
+
labels (`- AI name:`, `- WhatsApp label:`), Source-of-Truth table
|
|
142
|
+
headers and Domain labels, and product/brand cells (`Google
|
|
143
|
+
Calendar`, `Obsidian`, `Notion`, `state/today.md`, `projects/*.md`).
|
|
144
|
+
|
|
145
|
+
Fill the Source of Truth table from the rows you confirmed in Turn 1.
|
|
146
|
+
Use today's YYYY-MM-DD for `updated` (the date below is an example).
|
|
248
147
|
|
|
249
148
|
```management-rules
|
|
250
149
|
---
|
|
@@ -271,7 +170,7 @@ updated: 2026-04-21
|
|
|
271
170
|
- today.md updates: Autonomous
|
|
272
171
|
- Notifications: Autonomous (within rules)
|
|
273
172
|
- External service operations: Confirm with user
|
|
274
|
-
-
|
|
173
|
+
- policies/management.md changes: Always confirm
|
|
275
174
|
|
|
276
175
|
## Notification Rules
|
|
277
176
|
- Quiet hours: 22:00–08:00 (default — adjustable in Settings)
|
|
@@ -288,18 +187,39 @@ updated: 2026-04-21
|
|
|
288
187
|
- {user's project-management-method answer verbatim, or "No specific preferences — follow standard project practices" if they skipped}
|
|
289
188
|
```
|
|
290
189
|
|
|
291
|
-
|
|
190
|
+
Reproduce blank lines exactly — every `##` heading and every table
|
|
191
|
+
must be preceded by a blank line. Never concatenate a heading onto
|
|
192
|
+
the end of the previous list item.
|
|
193
|
+
|
|
194
|
+
### Character code block format
|
|
195
|
+
|
|
196
|
+
Emit only when the user stated an actual preference. Body rules:
|
|
197
|
+
raw text only (no markdown, no outer quotes, no nested fences),
|
|
198
|
+
≤1000 chars (surface excess rather than silently truncating), at
|
|
199
|
+
most one block per turn.
|
|
200
|
+
|
|
201
|
+
```character
|
|
202
|
+
Speak casually. Tight bullets. No emojis.
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### identity/profile.md Format
|
|
206
|
+
|
|
207
|
+
When you PUT /api/context/identity/profile, write the full file in this
|
|
208
|
+
shape. Use today's YYYY-MM-DD for `updated`. Do not omit
|
|
209
|
+
`## Notification Preferences` — Morning Routine reads it directly.
|
|
292
210
|
|
|
293
|
-
|
|
211
|
+
Use inline `-d '{"content": "..."}'` with `\n` escapes. Do **NOT**
|
|
212
|
+
use `-d @-`, heredoc pipelines, or `--data-raw '@-'` — those have
|
|
213
|
+
produced malformed bodies in this flow (server saw literal `@-` and
|
|
214
|
+
returned 500).
|
|
294
215
|
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
216
|
+
```bash
|
|
217
|
+
curl -s -X PUT http://localhost:8321/api/context/identity/profile \
|
|
218
|
+
-H 'Content-Type: application/json' \
|
|
219
|
+
-d '{"content": "---\ntype: user\nowner: shared\nupdated: 2026-04-23\n---\n# User\n\n## Identity\n\n## Work Pattern\n- Working hours: Weekdays 09:00–18:00\n\n## Platforms\n- Schedule: Google Calendar\n- Notes: Obsidian\n- Projects: Notion\n\n## Expertise\n\n## Notification Preferences\n- Quiet hours: 22:00–08:00\n\n## Learned Context\n\n## Raw Signals\n"}'
|
|
220
|
+
```
|
|
300
221
|
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
rules file is saved by the dashboard.)
|
|
222
|
+
If the response is non-2xx, retry once with a smaller body or switch
|
|
223
|
+
to section-level PATCH. The default allowlist includes
|
|
224
|
+
`Bash(curl *)` — a denial here is a body-shape issue, not a
|
|
225
|
+
permission issue.
|
|
@@ -12,7 +12,7 @@ Output language: follow `<output_language_policy>` (this is a DM-style turn —
|
|
|
12
12
|
2. Ask the user which part they'd like to change, presenting these options:
|
|
13
13
|
- **Source of Truth** — Change tools
|
|
14
14
|
- **Notification Rules** — Notification timing and methods
|
|
15
|
-
- **Character (tone / style / voice)** — Update the `character` runtime-config field, emitted as a ```character``` code block (NOT `
|
|
15
|
+
- **Character (tone / style / voice)** — Update the `character` runtime-config field, emitted as a ```character``` code block (NOT `policies/management.md`, NOT `identity/profile.md`)
|
|
16
16
|
- **Autonomy Levels** — Agent decision scope
|
|
17
17
|
- **Schedule** — Working hours
|
|
18
18
|
- **Project Management** — Preferences for how the agent should handle your projects
|
|
@@ -45,7 +45,7 @@ not part of the wizard's editable surface, and stripping them silently
|
|
|
45
45
|
breaks downstream features:
|
|
46
46
|
|
|
47
47
|
- **`## Agent Identity`** — populated by the daemon from `agentDisplayName`. Re-emit it as-is or omit it (the server upserts it on save).
|
|
48
|
-
- **`## Active Policies`** — a static wikilink to `
|
|
48
|
+
- **`## Active Policies`** — a static wikilink to `policies/management-captures/_index.md` placed by skeleton seeding. Owned by the management-policy capture flow (the wizard is read-only here). If it is missing from the current rules (legacy installs), do NOT invent it; the next skeleton run will add it.
|
|
49
49
|
|
|
50
50
|
The same applies to any other section the wizard does not explicitly
|
|
51
51
|
ask the user about — when in doubt, copy it through unchanged.
|
|
@@ -26,7 +26,7 @@ The shim reads stdin when `-d @-` is passed, so the heredoc body lands as the JS
|
|
|
26
26
|
|
|
27
27
|
### Procedure
|
|
28
28
|
|
|
29
|
-
1. Fetch the URL with the per-backend primitive (WebFetch on Claude, curl on Codex, web_fetch on Gemini).
|
|
29
|
+
1. Fetch the URL with the per-backend primitive (WebFetch on Claude, curl on Codex/OpenCode, web_fetch on Gemini).
|
|
30
30
|
2. POST one new note at `10_raw/<slug>.md` via the daemon Wiki API with `-H 'x-process-key: wiki.ingest_url'`. Path is EXACTLY `10_raw/<slug>.md` — no nested folders like `10_raw/articles/...`.
|
|
31
31
|
3. **Inspect the curl response.** Only `{"ok":true,"path":"10_raw/<slug>.md"}` counts as success. Anything else (4xx, 5xx, missing fields, hallucinated endpoint like `/api/send-message`, no response) means the file was NOT created — PATCH `log.md` with the failure reason and emit the failure DM.
|
|
32
32
|
|