Enable kaizen agents to run on a regular cadence against a preselected repo roster, orchestrated by activity-core and prepared by kaizen-agentic — without this repo owning cron, Temporal workers, or an LLM runtime. CLI + module: - src/kaizen_agentic/schedule.py — .kaizen/schedule.yml parse/validate/scaffold - `kaizen-agentic schedule` group: init, validate, list, prepare <agent> (prepare bundles agent prompt + memory + metrics + repo pointers, offline) - tests/test_schedule_cli.py — 15 tests Contract & design: - ADR-005 scheduled agent execution; schema doc + example manifest - discover_kaizen_scheduled_repos resolver spec, state-hub roster fields, kaizen.schedule.prepared event payload, activity-core handoff checklist - INTEGRATION_PATTERNS Pattern 2 extended with roster model ActivityDefinition drafts (enabled: false): - weekly-coach-orientation, weekly-optimization-review Docs: agency-framework, CLI cheat sheet, PACKAGE_RELEASE runner prereqs, EcosystemIntegration, CHANGELOG, TODO. Workplan closed (status: done). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3.2 KiB
3.2 KiB
activity-core Handoff — Scheduled Agent Execution (WP-0006)
Coordination checklist for the activity-core team to enable kaizen scheduled agent runs. kaizen-agentic owns the schedule contract, the prepare CLI, and the ActivityDefinition drafts; activity-core owns the resolver, the schedule firing, and task creation (repo boundary, ADR-005).
Open this as an activity-core issue/PR titled "Enable kaizen scheduled agent execution (WP-0006)" and track the boxes there.
What kaizen-agentic ships (done in this repo)
.kaizen/schedule.ymlschema +schedule validate|init|list|prepareCLI- ADR-005 contract
- Resolver spec: discover-kaizen-scheduled-repos.md
- State Hub roster fields design: state-hub-roster-fields.md
- Draft definitions (
enabled: false): weekly-coach-orientation, weekly-optimization-review - Event payload spec: kaizen-schedule-prepared-event.md
What activity-core must do
- Implement resolver
discover_kaizen_scheduled_reposper the spec (hub roster ∩ repos with valid.kaizen/schedule.yml). - Add resolver unit tests using the four fixtures in the spec.
- Copy definitions from
docs/integrations/activity-definitions/(weekly-coach-orientation.md,weekly-optimization-review.md) into the activity-core catalog path (per ACT-ADR-002). - Register each definition slug in the activity-core index.
- Run
make sync-activity-definitionsin activity-core. - Wire cron triggers (Mon 09:00 / 10:00 Europe/Berlin) to the resolver.
- Smoke test against a pilot repo (see below) with the definition still
enabled: false(dry-run task creation). - Enable gradually — flip one definition to
enabled: truein staging after the smoke test passes. - Verify runner prerequisites —
kaizen-agenticon PATH and the Gitea PyPI extra index if the runner installs from registry (see PACKAGE_RELEASE.md).
State Hub team (the-custodian)
- Optional: add
kaizen_schedule_enabledrepo flag +GET /repos/filter (v2 pre-filter; the repo file remains the source of truth).
Smoke test (manual, runner-agnostic)
cd /path/to/pilot-repo
kaizen-agentic schedule init # if not already present
kaizen-agentic schedule validate # exit 0
kaizen-agentic schedule list # shows coach + optimization enabled
kaizen-agentic schedule prepare coach # non-empty orientation bundle
Then in activity-core: run the resolver (dry-run) and confirm one
scheduled_run per enabled (repo, agent) with a correct prepare_command.
Pilot roster
kaizen-agentic(dogfood)the-custodian(hub operator)- one additional custodian-domain repo with
.kaizen/state (TBD at pilot time)