@aitne-sh/aitne 0.1.8 → 0.1.10
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 +251 -164
- 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 +51 -15
- package/agent-assets/docs/concepts/delegated-mode.md +56 -17
- package/agent-assets/docs/concepts/memory-model.md +77 -34
- 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 +61 -50
- package/agent-assets/docs/concepts/skills.md +34 -18
- package/agent-assets/docs/features/integrations/browser-history.md +196 -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 +61 -17
- 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 +44 -40
- package/agent-assets/docs/features/lifestyle/reading.md +57 -22
- package/agent-assets/docs/features/lifestyle/receipts.md +51 -21
- package/agent-assets/docs/features/lifestyle/travel-bookings.md +77 -14
- package/agent-assets/docs/features/memory-files/agent-journal.md +132 -53
- package/agent-assets/docs/features/memory-files/agent-lessons.md +177 -0
- package/agent-assets/docs/features/memory-files/projects.md +73 -17
- package/agent-assets/docs/features/memory-files/roadmap.md +54 -11
- 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 +22 -8
- package/agent-assets/docs/features/messaging/whatsapp.md +71 -17
- package/agent-assets/docs/features/operations/activity-and-conversations.md +45 -15
- package/agent-assets/docs/features/operations/approvals.md +49 -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 +222 -0
- package/agent-assets/docs/features/operations/notifications.md +52 -11
- package/agent-assets/docs/features/operations/quiet-hours.md +64 -40
- package/agent-assets/docs/features/operations/schedule-approaching.md +54 -24
- package/agent-assets/docs/features/routines/custom-routines.md +98 -26
- package/agent-assets/docs/features/routines/evening-review.md +82 -21
- package/agent-assets/docs/features/routines/hourly-check.md +149 -29
- package/agent-assets/docs/features/routines/morning-routine.md +54 -35
- package/agent-assets/docs/features/routines/weekly-review.md +46 -21
- package/agent-assets/docs/features/wiki/commands.md +26 -16
- package/agent-assets/docs/features/wiki/cost-and-approval.md +241 -0
- package/agent-assets/docs/features/wiki/dashboard.md +256 -0
- package/agent-assets/docs/features/wiki/overview.md +70 -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 +34 -23
- package/agent-assets/docs/getting-started/02-first-steps.md +17 -10
- package/agent-assets/docs/getting-started/03-what-can-this-do.md +25 -14
- package/agent-assets/docs/getting-started/04-first-day.md +39 -21
- 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 +57 -26
- 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 +66 -15
- package/agent-assets/docs/guides/explore-with-trace-and-connect.md +32 -14
- package/agent-assets/docs/guides/import-knowledge-file.md +50 -40
- package/agent-assets/docs/guides/install-and-run.md +49 -20
- 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 +69 -24
- package/agent-assets/docs/guides/reinstall-cleanly.md +88 -18
- package/agent-assets/docs/guides/setup-wizard.md +116 -54
- package/agent-assets/docs/guides/switch-default-backend.md +62 -16
- package/agent-assets/docs/guides/use-an-existing-obsidian-vault.md +30 -14
- package/agent-assets/docs/reference/api.md +153 -32
- package/agent-assets/docs/reference/cli-commands.md +39 -18
- package/agent-assets/docs/reference/config.md +241 -49
- package/agent-assets/docs/reference/disallowed-tools.md +34 -13
- package/agent-assets/docs/reference/keyboard-shortcuts.md +34 -10
- package/agent-assets/docs/reference/knowledge-layout.md +629 -0
- package/agent-assets/docs/reference/process-keys.md +62 -6
- package/agent-assets/docs/reference/skills.md +41 -14
- package/agent-assets/docs/troubleshooting/auth-failed.md +51 -21
- package/agent-assets/docs/troubleshooting/dashboard-shows-degraded.md +97 -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 +33 -8
- 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 +25 -41
- package/agent-assets/skills/agent-create/SKILL.md +158 -0
- package/agent-assets/skills/attach/SKILL.md +10 -29
- package/agent-assets/skills/browser-history/SKILL.md +211 -0
- package/agent-assets/skills/browser-history-respond/SKILL.md +111 -0
- package/agent-assets/skills/browser-task/SKILL.md +164 -0
- package/agent-assets/skills/context/SKILL.md +35 -44
- package/agent-assets/skills/context/curation.json +14 -14
- package/agent-assets/skills/context/references/api.md +52 -40
- package/agent-assets/skills/context/references/required-frontmatter.md +13 -12
- package/agent-assets/skills/context/references/snapshot-files.md +18 -17
- package/agent-assets/skills/context/seeds/file-responsibilities.seed.json +8 -8
- package/agent-assets/skills/context/seeds/frontmatter-requirements.seed.json +3 -3
- package/agent-assets/skills/docs-search/SKILL.md +23 -34
- package/agent-assets/skills/external-services/SKILL.delegated.claude.md +17 -114
- package/agent-assets/skills/external-services/SKILL.delegated.codex.md +17 -113
- package/agent-assets/skills/external-services/SKILL.delegated.gemini.md +17 -113
- package/agent-assets/skills/external-services/SKILL.md +3 -3
- package/agent-assets/skills/external-services/SKILL.native.claude.md +7 -7
- 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/exec-errors.md +32 -0
- package/agent-assets/skills/external-services/references/obsidian.md +2 -2
- package/agent-assets/skills/external-services/references/skills-crud.md +5 -5
- package/agent-assets/skills/gmail-lifestyle/SKILL.md +11 -83
- package/agent-assets/skills/gmail-lifestyle/references/receipts-api.md +4 -0
- package/agent-assets/skills/gmail-lifestyle/references/travel-bookings-api.md +9 -0
- package/agent-assets/skills/mail/SKILL.delegated.claude.md +15 -18
- package/agent-assets/skills/mail/SKILL.delegated.codex.md +11 -6
- package/agent-assets/skills/mail/SKILL.delegated.gemini.md +11 -6
- package/agent-assets/skills/mail/SKILL.md +10 -18
- package/agent-assets/skills/mail/SKILL.native.claude.md +8 -7
- 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 +10 -3
- package/agent-assets/skills/mail/references/examples.md +2 -1
- package/agent-assets/skills/mail/references/providers.md +1 -1
- package/agent-assets/skills/managed-tasks/SKILL.md +48 -81
- package/agent-assets/skills/managed-tasks/references/errors.md +33 -19
- package/agent-assets/skills/managed-tasks/references/output-path.md +33 -17
- package/agent-assets/skills/managed-tasks/references/recurrence-rule.md +7 -5
- package/agent-assets/skills/management-policy/SKILL.md +42 -42
- package/agent-assets/skills/management-policy/curation.json +1 -1
- package/agent-assets/skills/management-policy/references/policy-workflow.md +11 -12
- package/agent-assets/skills/management-policy/seeds/policy-file-shape.seed.json +1 -1
- package/agent-assets/skills/notify/SKILL.md +14 -16
- package/agent-assets/skills/notify/references/priority.md +28 -20
- 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 +17 -17
- package/agent-assets/skills/notion/SKILL.native.claude.md +11 -7
- package/agent-assets/skills/notion/SKILL.native.codex.md +10 -5
- package/agent-assets/skills/notion/SKILL.native.gemini.md +10 -5
- package/agent-assets/skills/observations/SKILL.md +29 -28
- package/agent-assets/skills/observations/references/fetch-fallback.md +22 -0
- package/agent-assets/skills/project-doc/SKILL.md +10 -7
- package/agent-assets/skills/project-doc/curation.json +3 -3
- package/agent-assets/skills/project-doc/seeds/project-shape.seed.json +8 -5
- package/agent-assets/skills/project-doc/seeds/slug-grammar.seed.json +5 -5
- package/agent-assets/skills/reading/SKILL.md +18 -42
- package/agent-assets/skills/reading/references/reading-taste.md +7 -7
- package/agent-assets/skills/roadmap/SKILL.md +8 -24
- package/agent-assets/skills/roadmap/curation.json +1 -1
- package/agent-assets/skills/roadmap/references/api.md +21 -11
- package/agent-assets/skills/roadmap/references/cross-check.md +15 -8
- package/agent-assets/skills/roadmap/references/horizon-tags.md +11 -0
- package/agent-assets/skills/roadmap/references/migration.md +12 -10
- package/agent-assets/skills/roadmap/references/retention.md +18 -0
- package/agent-assets/skills/roadmap/seeds/entry-types.seed.json +1 -1
- package/agent-assets/skills/schedule/SKILL.md +41 -50
- 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/importance.md +23 -0
- package/agent-assets/skills/schedule/references/model-selection.md +3 -3
- package/agent-assets/skills/schedule/references/recurrence-rule.md +7 -5
- package/agent-assets/skills/scheduled-managed-task/SKILL.md +77 -70
- package/agent-assets/skills/today/SKILL.md +24 -83
- 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/references/today-skeleton.md +66 -0
- package/agent-assets/skills/today/seeds/agent-notes-flavors.seed.json +1 -1
- package/agent-assets/skills/today/seeds/section-shape.seed.json +7 -7
- package/agent-assets/skills/user-interview/SKILL.md +21 -93
- package/agent-assets/skills/user-interview/references/op-briefing.md +3 -3
- package/agent-assets/skills/user-interview/references/op-dm-handler.md +88 -0
- package/agent-assets/skills/user-interview/references/op-morning.md +1 -1
- package/agent-assets/skills/user-interview/references/sweep-and-fallback.md +9 -1
- package/agent-assets/skills/user-profile/SKILL.md +29 -39
- package/agent-assets/skills/user-profile/curation.json +4 -4
- package/agent-assets/skills/user-profile/references/character-preferences.md +3 -3
- 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-ask/SKILL.md +1 -1
- package/agent-assets/skills/wiki/wiki-compile/SKILL.md +9 -8
- package/agent-assets/skills/wiki/wiki-connect/SKILL.md +32 -5
- package/agent-assets/skills/wiki/wiki-ingest/SKILL.md +6 -50
- package/agent-assets/skills/wiki/wiki-ingest/references/curl-errors.md +58 -0
- package/agent-assets/skills/wiki/wiki-lint/SKILL.md +20 -14
- package/agent-assets/skills/wiki/wiki-trace/SKILL.md +10 -5
- package/agent-assets/skills/wiki/wiki-vault-rules/SKILL.md +2 -0
- package/agent-assets/system-prompts/routine-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/feedback-capture.md +30 -0
- 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 +13 -4
- package/agent-assets/task-flows/message.received.dm_first.md +7 -3
- package/agent-assets/task-flows/routine.custom.md +3 -3
- package/agent-assets/task-flows/routine.evening_review.md +88 -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 +93 -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 +114 -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/task-flows/wiki.trace.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/{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 +58 -15
- package/package.json +5 -4
- package/scripts/commands/doctor.mjs +25 -10
- 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/process-identity.d.mts +46 -0
- package/scripts/lib/process-identity.mjs +193 -0
- package/scripts/lib/read-api-token.mjs +176 -0
- package/scripts/start.mjs +16 -5
- 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
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: browser-history-respond
|
|
3
|
+
description: |
|
|
4
|
+
Translate the owner's natural-language reply to a research-engagement
|
|
5
|
+
offer DM into a /api/browser-history/offers/<slug>/{accept|decline}
|
|
6
|
+
call. Use ONLY when GET /offers/pending returns an open offer AND
|
|
7
|
+
conversation_history shows a recent offer DM in this channel.
|
|
8
|
+
allowed-tools:
|
|
9
|
+
- Bash(curl *)
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Browser History — natural-language acceptance bridge
|
|
13
|
+
|
|
14
|
+
When the owner replies to a research-offer DM ("dig deeper" /
|
|
15
|
+
"summarise"), translate that into the structured dispatch call.
|
|
16
|
+
|
|
17
|
+
## Hard rule — never cold-call
|
|
18
|
+
|
|
19
|
+
This skill is a no-op unless BOTH hold:
|
|
20
|
+
|
|
21
|
+
1. `GET /api/browser-history/offers/pending` returns a non-empty list
|
|
22
|
+
(call this FIRST). Empty → do nothing; ignore research entirely.
|
|
23
|
+
2. `<recent_dm_conversation>` shows a prior assistant DM that
|
|
24
|
+
actually offered the two options. No prior offer in the window →
|
|
25
|
+
the reply is not about research; ignore the pending rows (they
|
|
26
|
+
resurface in tomorrow's morning digest).
|
|
27
|
+
|
|
28
|
+
Calling accept/decline when the owner didn't ask is a worse failure
|
|
29
|
+
than missing an ambiguous reply.
|
|
30
|
+
|
|
31
|
+
## Endpoints
|
|
32
|
+
|
|
33
|
+
| Method | Path | Purpose |
|
|
34
|
+
|---|---|---|
|
|
35
|
+
| GET | `/api/browser-history/offers/pending` | List open offers (slug, displayName, kind, offeredAt, expiresAt). Call FIRST. |
|
|
36
|
+
| POST | `/api/browser-history/offers/<slug>/accept` | Body `{kind: "research_assist" \| "wiki_summary"}` — dispatch the routine. |
|
|
37
|
+
| POST | `/api/browser-history/offers/<slug>/decline` | Silence both options for this cluster for 14 days. |
|
|
38
|
+
|
|
39
|
+
No other `/api/browser-history/*` endpoints from this skill — if you
|
|
40
|
+
want to read clusters or shopping, that's a different skill loaded
|
|
41
|
+
for the routine paths, not the DM agent.
|
|
42
|
+
|
|
43
|
+
## Intent → kind mapping
|
|
44
|
+
|
|
45
|
+
The owner may reply in any language. Your multilingual understanding
|
|
46
|
+
handles that; the table below gives the *concepts*, not the exact
|
|
47
|
+
phrasing, to anchor the mapping.
|
|
48
|
+
|
|
49
|
+
| Owner intent | Resolves to |
|
|
50
|
+
|---|---|
|
|
51
|
+
| Accepts the deeper-research offer (variations: "yes", "research", "dig deeper", "research please", "do the research") | `{"kind":"research_assist"}` |
|
|
52
|
+
| Accepts the summarise-the-sites offer (variations: "summarise", "summary", "wiki it", "make a note", "do a wiki") | `{"kind":"wiki_summary"}` |
|
|
53
|
+
| Declines both options (variations: "no thanks", "not now", "skip", "later", "ignore it") | `/decline` |
|
|
54
|
+
| Ambiguous reply ("yeah" / "ok" alone when both options were offered) | **Ask ONE clarifier** — don't guess. |
|
|
55
|
+
|
|
56
|
+
If the owner names the topic differently from `displayName` (e.g.
|
|
57
|
+
offer about "prompt-injection-defenses", owner says "yes do the CaMeL
|
|
58
|
+
research"), match to the slug — the intent is what matters.
|
|
59
|
+
|
|
60
|
+
## Slug resolution
|
|
61
|
+
|
|
62
|
+
If exactly one offer is open: pick it. If two are open (the rate-limit
|
|
63
|
+
gate allows up to 2/day): match `displayName` against what the owner
|
|
64
|
+
referenced, or ask:
|
|
65
|
+
|
|
66
|
+
> Did you mean **<topic A>** or **<topic B>**?
|
|
67
|
+
|
|
68
|
+
## Acknowledgement
|
|
69
|
+
|
|
70
|
+
For accept, only send the success ack if the response has
|
|
71
|
+
`enqueued:true`. If `enqueued:false` the dispatch did not fire (EventBus
|
|
72
|
+
unwired during the boot window) — tell the owner to retry in a moment
|
|
73
|
+
instead of claiming a result is coming.
|
|
74
|
+
|
|
75
|
+
Send a one-line ack in the owner's `primaryLanguage` (examples English):
|
|
76
|
+
|
|
77
|
+
- research_assist accepted: "On it — I'll DM the parallel research
|
|
78
|
+
dive when it lands. Usually 5-10 min."
|
|
79
|
+
- wiki_summary accepted: "Got it — I'll compose the wiki note and DM
|
|
80
|
+
the destination. A minute or two."
|
|
81
|
+
- decline: "Got it, silenced offers for **<displayName>** for 14 days."
|
|
82
|
+
|
|
83
|
+
The dispatch routines DM the owner with their result themselves; don't
|
|
84
|
+
pre-summarise.
|
|
85
|
+
|
|
86
|
+
## Curl shapes
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
curl --silent --fail \
|
|
90
|
+
http://127.0.0.1:8321/api/browser-history/offers/pending
|
|
91
|
+
|
|
92
|
+
curl --silent --fail -X POST \
|
|
93
|
+
-H 'Content-Type: application/json' \
|
|
94
|
+
-d '{"kind":"research_assist"}' \
|
|
95
|
+
http://127.0.0.1:8321/api/browser-history/offers/<slug>/accept
|
|
96
|
+
|
|
97
|
+
curl --silent --fail -X POST \
|
|
98
|
+
http://127.0.0.1:8321/api/browser-history/offers/<slug>/decline
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
JSON body in single quotes (project convention) so the daemon hooks
|
|
102
|
+
classify the payload as data, not shell.
|
|
103
|
+
|
|
104
|
+
## Out of scope here
|
|
105
|
+
|
|
106
|
+
- Surfacing browser-history data on demand — that's the morning
|
|
107
|
+
digest's job, not DM time.
|
|
108
|
+
- Composing the offer DM itself — that's `routine.research_offer_dm`.
|
|
109
|
+
- Reading cluster journals / deltas — the dispatch routines do that.
|
|
110
|
+
- Muting / renaming — explicit bang commands (`!research mute
|
|
111
|
+
<slug>` / `!research rename <slug> <new>`), not natural-language.
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: browser-task
|
|
3
|
+
description: Hand open-ended browser requests (post a tweet, fill a contact form, check an order status, …) to /api/browser-task. Relay sub-agent clarifications, POST /clarify with the reply, /cancel on stop.
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Bash(curl *)
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Browser Task — open-ended browser ops from DM
|
|
9
|
+
|
|
10
|
+
A scoped sub-agent drives Aitne's managed Chromium turn-by-turn from a
|
|
11
|
+
natural-language description. **It runs as a detached background process
|
|
12
|
+
with its own budget — the daemon DMs the user directly when it finishes,
|
|
13
|
+
needs input, or fails.** You are NOT in that delivery path. Your job is
|
|
14
|
+
the front bookend only: collect intent, POST it, acknowledge in one line,
|
|
15
|
+
and **end your turn**. The Playwright work is invisible to you.
|
|
16
|
+
|
|
17
|
+
This is NOT the surface for managed-Chromium status, per-site sign-in,
|
|
18
|
+
B-4 purchase tokens, or workflow approvals — those live under
|
|
19
|
+
`/api/browser-history/managed/*`, `/api/browser-automation/sites/*`, and
|
|
20
|
+
`/api/browser-automation/purchase/*`.
|
|
21
|
+
|
|
22
|
+
## Hard rules
|
|
23
|
+
|
|
24
|
+
1. **Localhost only.** `http://127.0.0.1:8321/api/browser-task/*`.
|
|
25
|
+
2. **POST, ack, end the turn. NEVER poll for completion.** After a
|
|
26
|
+
successful POST, reply once ("Started — I'll report back when it's
|
|
27
|
+
done.") and stop. Do not GET `/:id` in a loop, "wait and check", or
|
|
28
|
+
re-issue. Ending your turn has zero effect on the detached task — it
|
|
29
|
+
keeps running and the daemon DMs the user the result (`✅ Browser task
|
|
30
|
+
— report`) or, on any failure/cancel/timeout, `🟦 Browser task <id>
|
|
31
|
+
ended: <state>`. The only allowed GET is a single on-demand status read
|
|
32
|
+
answering an explicit user question (see "On-demand status").
|
|
33
|
+
3. **Never echo the `!~xxxxxxxx` final-confirm token.** The daemon DMs it
|
|
34
|
+
directly when the sub-agent trips the final-confirm gate. The user
|
|
35
|
+
types it back themselves; the runner consumes the reply. Do not read,
|
|
36
|
+
log, paraphrase, or relay the token. If the user asks "what was that
|
|
37
|
+
code?", point them at the original DM with the screenshot — that DM is
|
|
38
|
+
the only authoritative source.
|
|
39
|
+
4. **Never invent `clarificationId` / `taskId`.** Both are uuid v4 minted
|
|
40
|
+
by the daemon; read from GET responses.
|
|
41
|
+
5. **Do not pre-decline based on the URL or site.** Open navigation is
|
|
42
|
+
the default — the sub-agent decides where to go and the daemon enforces
|
|
43
|
+
a user-curated hostname denylist plus the payment-path block at
|
|
44
|
+
navigation time. POST the description as the user asked.
|
|
45
|
+
6. **One task per request.** "Post a tweet AND subscribe …" → two POSTs.
|
|
46
|
+
|
|
47
|
+
## Endpoints
|
|
48
|
+
|
|
49
|
+
| Method | Path | Purpose |
|
|
50
|
+
|---|---|---|
|
|
51
|
+
| POST | `/api/browser-task` | Create + dispatch, or schedule for later. |
|
|
52
|
+
| GET | `/api/browser-task?state=...` | List (filter on `state`). |
|
|
53
|
+
| GET | `/api/browser-task/:id` | Detail — state, action log, clarifications. |
|
|
54
|
+
| POST | `/api/browser-task/:id/clarify` | Answer the open clarification. |
|
|
55
|
+
| POST | `/api/browser-task/:id/cancel` | Force-stop a task. |
|
|
56
|
+
|
|
57
|
+
## POST — composing a request
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
curl --silent --fail -X POST -H 'Content-Type: application/json' \
|
|
61
|
+
-d '{"description":"Post \"Hello world\" to twitter.com"}' \
|
|
62
|
+
http://127.0.0.1:8321/api/browser-task
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Body:
|
|
66
|
+
|
|
67
|
+
- `description` (1..4096) — one sentence stating the **end state**, not a
|
|
68
|
+
step recipe. Name the site in plain language when it matters ("post to
|
|
69
|
+
X", "check my hitachi.com order status"); the sub-agent decides where to
|
|
70
|
+
navigate. There is no `siteKey` or `extraAllowedHosts` field — the API
|
|
71
|
+
dropped both on 2026-05-27 (open navigation). Legacy callers passing
|
|
72
|
+
them are silently ignored, not rejected.
|
|
73
|
+
- `scheduleAt` (ISO 8601) — defer to later; respects quiet hours.
|
|
74
|
+
Response is `202` with `{ taskId, status:"scheduled", scheduledFor,
|
|
75
|
+
scheduleRowId }` (`scheduledFor` is epoch-ms; `taskId` is the same
|
|
76
|
+
pre-generated id you use for status GETs).
|
|
77
|
+
- `requireFinalConfirm` (default `true`) — keep `true` unless the user
|
|
78
|
+
explicitly asks to skip the gate for a reversible flow.
|
|
79
|
+
|
|
80
|
+
Immediate response carries `taskId`, `status`, and `queueState`; then ack
|
|
81
|
+
once and stop (Hard rule 2). If `queueState.waitingForSlot === true`, the
|
|
82
|
+
global cap is full — say so once ("queued behind N task(s); I'll start it
|
|
83
|
+
when a slot opens"). The daemon DMs the user on promote and on finish.
|
|
84
|
+
|
|
85
|
+
## Relaying a clarification — `awaiting_user`
|
|
86
|
+
|
|
87
|
+
The daemon DMs the user a question + screenshot via the originating
|
|
88
|
+
channel (you do not author it, and per Hard rule 2 you do not poll for it
|
|
89
|
+
to appear). You act only when the user comes back with an answer:
|
|
90
|
+
|
|
91
|
+
1. `GET /api/browser-task?state=awaiting_user` — find the parked task.
|
|
92
|
+
Usually one; if several, match topic or ask which.
|
|
93
|
+
2. `GET /api/browser-task/<taskId>` — read the open `clarifications` row
|
|
94
|
+
(`resolved:false`) for `clarificationId`.
|
|
95
|
+
3. `POST /api/browser-task/<taskId>/clarify` with `{clarificationId,
|
|
96
|
+
answer}` (user reply verbatim), then ack briefly and end the turn —
|
|
97
|
+
the runner resumes on its own.
|
|
98
|
+
|
|
99
|
+
Status codes — handle each, don't retry blindly:
|
|
100
|
+
|
|
101
|
+
- `200` — recorded; runner resumes. Brief ack ("Got it, resuming.").
|
|
102
|
+
- `400 validation_error` — `clarificationId` not a uuid or `answer` empty
|
|
103
|
+
/ >8192 chars. Re-read with GET and re-send.
|
|
104
|
+
- `409 not_awaiting_user` — window closed (carries `currentState`). Tell
|
|
105
|
+
the user the verbatim state; offer re-issue if relevant.
|
|
106
|
+
- `410 expired` — clarification deadline passed; the runner transitions
|
|
107
|
+
the task to `abandoned` on the next scanner tick. Apologise.
|
|
108
|
+
- `404 not_found` — your state is stale; re-read with GET first.
|
|
109
|
+
|
|
110
|
+
## On-demand status — only when the user asks
|
|
111
|
+
|
|
112
|
+
If (and only if) the user explicitly asks how a task is going, do a
|
|
113
|
+
**single** read and summarize — never a loop. `GET
|
|
114
|
+
/api/browser-task?state=running,awaiting_user,pending` (or a `taskId` the
|
|
115
|
+
user names), then `GET /api/browser-task/<taskId>` and report `state`, the
|
|
116
|
+
last `actionLog` entry, and `queueState` if pending. States:
|
|
117
|
+
|
|
118
|
+
- `pending` — queued; read `queueState` for position. `running` — acting.
|
|
119
|
+
- `awaiting_user` / `final_confirm` — relay rules are Hard rule 3 + the
|
|
120
|
+
clarify section; here just report the state.
|
|
121
|
+
- `completed` — the daemon already DMed the full `✅ Browser task —
|
|
122
|
+
report`. Don't re-post; if asked "what did it find?", quote the
|
|
123
|
+
`report` field verbatim (don't paraphrase).
|
|
124
|
+
- `failed` / `timeout` / `cancelled` / `abandoned` — terminal; the daemon
|
|
125
|
+
already DMed `🟦 Browser task <id> ended: <state>`. `outcome_detail`
|
|
126
|
+
carries the reason (e.g. `queue_timeout`, `budget_exceeded`,
|
|
127
|
+
`tool_loop_detected`) — quote it verbatim.
|
|
128
|
+
|
|
129
|
+
## Force-stop — "stop" / "cancel" / "abort" / "止めて"
|
|
130
|
+
|
|
131
|
+
When the user signals stop, find the task (same identification path as
|
|
132
|
+
status), then `POST /api/browser-task/<taskId>/cancel` with optional
|
|
133
|
+
`{"reason":"user_cancel"}`. The daemon aborts the in-flight sub-agent,
|
|
134
|
+
tears down the Chromium context, and writes the terminal state.
|
|
135
|
+
|
|
136
|
+
- `200` — accepted; `row.state` carries the post-cancel state (often
|
|
137
|
+
`cancelled`, but a `running` task may briefly stay non-terminal until
|
|
138
|
+
the SDK loop unwinds — re-read with GET if asked).
|
|
139
|
+
- `404 not_found` — stale `taskId`; re-read with GET.
|
|
140
|
+
- `409 already_terminal` (carries `currentState`) — too late; report the
|
|
141
|
+
state verbatim.
|
|
142
|
+
|
|
143
|
+
Do NOT cancel without a clear signal; "wait" is NOT a cancel.
|
|
144
|
+
|
|
145
|
+
## Navigation is open
|
|
146
|
+
|
|
147
|
+
There is no positive allowlist or registered-site table. Whatever URL the
|
|
148
|
+
sub-agent navigates to passes three runtime layers: (1) the user-curated
|
|
149
|
+
hostname denylist (Dashboard → Settings → Browser; a hit returns
|
|
150
|
+
`blockedByAllowlist: true` — legacy field name), (2) the hardcoded
|
|
151
|
+
payment-path block (purchases live in `/api/browser-automation/purchase/*`
|
|
152
|
+
with the B-4 token), (3) the network IP CIDR fence (RFC1918, loopback,
|
|
153
|
+
`169.254.x.x`, IPv6 ULA). If the sub-agent reports `blockedByAllowlist` /
|
|
154
|
+
`blockedByPaymentPath`, quote the reason verbatim and point the user at
|
|
155
|
+
`/settings/browser` if a denylist entry is the cause. **Never decline on
|
|
156
|
+
the user's behalf before POSTing — that's the user's call.**
|
|
157
|
+
|
|
158
|
+
## Scheduling — `scheduleAt` ≠ the `schedule` skill
|
|
159
|
+
|
|
160
|
+
For "do X at <time>" use `scheduleAt` in this POST — NOT `/api/schedule`.
|
|
161
|
+
The browser-task surface owns its own `agent_schedule` row
|
|
162
|
+
(`task_type:"browser_task"`). The `schedule` skill is the right tool only
|
|
163
|
+
when the user wants to list / modify / cancel pending schedules (which
|
|
164
|
+
surface scheduled browser tasks alongside other rows).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: context
|
|
3
|
-
description: Load when reading or writing project notes, weekly/monthly summaries, or agent
|
|
3
|
+
description: Load when reading or writing project notes, weekly/monthly summaries, or journal/agent.md. Owns GET/PATCH for context files except today.md and roadmap.md, which use their dedicated skills.
|
|
4
4
|
allowed-tools:
|
|
5
5
|
- Bash(curl *)
|
|
6
6
|
- Read
|
|
@@ -26,58 +26,48 @@ vault**, not this primary store.
|
|
|
26
26
|
|
|
27
27
|
| File | Purpose | Owner | Lock? |
|
|
28
28
|
|---|---|---|---|
|
|
29
|
-
| `today.md` | Today's schedule, tasks, agent log, handoff | See `today` skill | Yes (Morning Routine) |
|
|
30
|
-
| `roadmap.md` | Long-horizon agent action plan + Long-term Plans | See `roadmap` skill | Yes (Roadmap Refresh) |
|
|
31
|
-
| `projects/*.md` | Project state summaries | Any event on material state change | No |
|
|
32
|
-
| `weekly/YYYY-Www.md` | Weekly review snapshots | Friday Weekly Review only (PUT) | No |
|
|
33
|
-
| `monthly/YYYY-MM.md` | Monthly review snapshots | Month-end Monthly Review only (PUT) | No |
|
|
34
|
-
| `
|
|
35
|
-
| `
|
|
36
|
-
| `
|
|
37
|
-
| `routines/*.md` | Per-cadence check rulebooks | Explicit user request only | No |
|
|
38
|
-
| `
|
|
39
|
-
| `
|
|
29
|
+
| `state/today.md` | Today's schedule, tasks, agent log, handoff | See `today` skill | Yes (Morning Routine) |
|
|
30
|
+
| `plans/roadmap.md` | Long-horizon agent action plan + Long-term Plans | See `roadmap` skill | Yes (Roadmap Refresh) |
|
|
31
|
+
| `plans/projects/*.md` | Project state summaries | Any event on material state change | No |
|
|
32
|
+
| `journal/weekly/YYYY-Www.md` | Weekly review snapshots | Friday Weekly Review only (PUT) | No |
|
|
33
|
+
| `journal/monthly/YYYY-MM.md` | Monthly review snapshots | Month-end Monthly Review only (PUT) | No |
|
|
34
|
+
| `policies/*.md` | User-controlled policy files | Explicit user request only | No |
|
|
35
|
+
| `policies/management-captures/<slug>.md` | Durable management policies captured from DM | `management-policy` skill — **do not write from here** | No |
|
|
36
|
+
| `policies/management-captures/_index.md` | Readable index of active policies | `management-policy` skill — **do not write from here** | No |
|
|
37
|
+
| `policies/routines/*.md` | Per-cadence check rulebooks | Explicit user request only | No |
|
|
38
|
+
| `identity/profile.md` | User identity and preferences | `user-profile` skill — **do not write from here** | No |
|
|
39
|
+
| `identity/*.md` | Detailed user dictionary | `user-profile` skill — **do not write from here** | No |
|
|
40
40
|
|
|
41
41
|
Morning Routine scans roadmap daily and processes matching Preparation
|
|
42
|
-
Timeline rows into `today.md` — see the `roadmap` skill for the full
|
|
42
|
+
Timeline rows into `state/today.md` — see the `roadmap` skill for the full
|
|
43
43
|
entry taxonomy and the morning routine task-flow for the scanning rules.
|
|
44
44
|
|
|
45
|
-
## projects/*.md
|
|
45
|
+
## plans/projects/*.md
|
|
46
46
|
|
|
47
|
-
Update on status changes, milestones reached/delayed, or active set changes. Use `GET /api/context/list/projects` to discover files. The source of truth is always the individual `projects/<slug>.md` notes; `_active.base` is only the Obsidian Bases view config, not a narrative summary note.
|
|
47
|
+
Update on status changes, milestones reached/delayed, or active set changes. Use `GET /api/context/list/plans/projects` to discover files. The source of truth is always the individual `plans/projects/<slug>.md` notes; `_active.base` is only the Obsidian Bases view config, not a narrative summary note.
|
|
48
48
|
|
|
49
|
-
The canonical frontmatter schema is documented in `projects/_index.md`
|
|
50
|
-
(seeded from `agent-assets/templates/projects/_index.md`). The API
|
|
49
|
+
The canonical frontmatter schema is documented in `plans/projects/_index.md`
|
|
50
|
+
(seeded from `agent-assets/templates/plans/projects/_index.md`). The API
|
|
51
51
|
validates only `type: project`, `owner: shared`, `updated`, and an H1
|
|
52
52
|
(`context-frontmatter.ts`). Conventional but unvalidated fields —
|
|
53
53
|
`slug`, `state`, `start`, `due`, `stakeholders`, `next_milestone`,
|
|
54
54
|
`tags` — should still be written for new files because the
|
|
55
|
-
`projects/_active.base` Obsidian view filters on `state`.
|
|
55
|
+
`plans/projects/_active.base` Obsidian view filters on `state`.
|
|
56
56
|
|
|
57
57
|
## Project DM-intent detection
|
|
58
58
|
|
|
59
|
-
DM-driven project
|
|
60
|
-
`
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
cross-path cancellation, slug grammar, tie-breakers).
|
|
59
|
+
DM-driven project writes are dispatched by
|
|
60
|
+
`_partials/dm-intent.project.md` (the decision tree — match, decline
|
|
61
|
+
markers, confirm sub-flow, slug grammar, tie-breakers — lives there).
|
|
62
|
+
**This skill is the writer:** it executes the `plans/projects/*.md`
|
|
63
|
+
PUT / PATCH / archive per the API Reference below.
|
|
65
64
|
|
|
66
|
-
|
|
67
|
-
goes through `/api/context/projects/*` per the API Reference below. The
|
|
68
|
-
partial dispatches; this skill executes the writes.
|
|
65
|
+
## Snapshot files — weekly / monthly / policies / routines
|
|
69
66
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
## Snapshot files — weekly / monthly / rules / routines
|
|
76
|
-
|
|
77
|
-
Weekly and monthly review snapshots, the user-controlled `rules/*.md`
|
|
78
|
-
policy files, the built-in `routines/<cadence>.md` rulebooks, custom
|
|
79
|
-
routines under `routines/custom/`, and the agent-private
|
|
80
|
-
`agent/journal.md` all have stable per-file conventions (writer event,
|
|
67
|
+
Weekly and monthly review snapshots, the user-controlled `policies/*.md`
|
|
68
|
+
policy files, the built-in `policies/routines/<cadence>.md` rulebooks, custom
|
|
69
|
+
routines under `policies/routines/custom/`, and the agent-private
|
|
70
|
+
`journal/agent.md` all have stable per-file conventions (writer event,
|
|
81
71
|
verb, frontmatter, retention) documented in the snapshot-files
|
|
82
72
|
reference below.
|
|
83
73
|
|
|
@@ -88,11 +78,12 @@ DM handlers and Hourly Checks should generally not write these files
|
|
|
88
78
|
|
|
89
79
|
## Required frontmatter for guarded files
|
|
90
80
|
|
|
91
|
-
Full-file writes to `
|
|
92
|
-
`
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
envelope are in the
|
|
81
|
+
Full-file writes to `identity/*.md`, `policies/*.md`,
|
|
82
|
+
`plans/projects/*.md`, `journal/daily/*.md`, `journal/weekly/*.md`, and
|
|
83
|
+
`journal/monthly/*.md` must open with the matching YAML frontmatter
|
|
84
|
+
(`type`, `owner`, `updated`) followed by at least one H1 heading.
|
|
85
|
+
Per-glob values and the common rejection envelope are in the
|
|
86
|
+
required-frontmatter reference below.
|
|
96
87
|
|
|
97
88
|
{{> ref:required-frontmatter }}
|
|
98
89
|
|
|
@@ -101,7 +92,7 @@ envelope are in the required-frontmatter reference below.
|
|
|
101
92
|
The full `/api/context/*` surface — read / write / list / lock /
|
|
102
93
|
archive / restore / health / repair / action-log — is organised by
|
|
103
94
|
operation in the reference below. Add `X-Lock-Id` on every PUT / PATCH
|
|
104
|
-
to `today.md` (`<today_write_lock_id>`) or `roadmap.md`
|
|
95
|
+
to `state/today.md` (`<today_write_lock_id>`) or `plans/roadmap.md`
|
|
105
96
|
(`<roadmap_write_lock_id>`) when the matching lock-id tag is in your
|
|
106
97
|
context.
|
|
107
98
|
|
|
@@ -8,14 +8,14 @@
|
|
|
8
8
|
"human_label": "File responsibilities",
|
|
9
9
|
"description": "Which file owns which area of the context tree (today, roadmap, projects, weekly, rules, user)",
|
|
10
10
|
"scope_paths": [
|
|
11
|
-
"today.md",
|
|
12
|
-
"roadmap.md",
|
|
13
|
-
"projects/*.md",
|
|
14
|
-
"weekly/*.md",
|
|
15
|
-
"monthly/*.md",
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"agent
|
|
11
|
+
"state/today.md",
|
|
12
|
+
"plans/roadmap.md",
|
|
13
|
+
"plans/projects/*.md",
|
|
14
|
+
"journal/weekly/*.md",
|
|
15
|
+
"journal/monthly/*.md",
|
|
16
|
+
"policies/*.md",
|
|
17
|
+
"identity/*.md",
|
|
18
|
+
"journal/agent.md"
|
|
19
19
|
]
|
|
20
20
|
},
|
|
21
21
|
{
|
|
@@ -25,12 +25,12 @@
|
|
|
25
25
|
"human_label": "Required frontmatter for guarded files",
|
|
26
26
|
"description": "Per file-glob: required + conventional frontmatter keys",
|
|
27
27
|
"scope_paths": [
|
|
28
|
-
"projects/*.md",
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"weekly/*.md",
|
|
32
|
-
"monthly/*.md",
|
|
33
|
-
"daily/*.md"
|
|
28
|
+
"plans/projects/*.md",
|
|
29
|
+
"identity/*.md",
|
|
30
|
+
"policies/*.md",
|
|
31
|
+
"journal/weekly/*.md",
|
|
32
|
+
"journal/monthly/*.md",
|
|
33
|
+
"journal/daily/*.md"
|
|
34
34
|
]
|
|
35
35
|
}
|
|
36
36
|
]
|