# 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) - [x] `.kaizen/schedule.yml` schema + `schedule validate|init|list|prepare` CLI - [x] ADR-005 contract - [x] Resolver spec: [discover-kaizen-scheduled-repos.md](discover-kaizen-scheduled-repos.md) - [x] State Hub roster fields design: [state-hub-roster-fields.md](state-hub-roster-fields.md) - [x] Draft definitions (`enabled: false`): [weekly-coach-orientation](activity-definitions/weekly-coach-orientation.md), [weekly-optimization-review](activity-definitions/weekly-optimization-review.md) - [x] Event payload spec: [kaizen-schedule-prepared-event.md](kaizen-schedule-prepared-event.md) ## What activity-core must do - [x] **Implement resolver** `discover_kaizen_scheduled_repos` per the spec (`activity_core/context_resolvers/kaizen.py`). - [x] **Add resolver unit tests** — `tests/test_kaizen_context_resolver.py` (7 passed). - [ ] **Copy custodian weekly definitions** from `docs/integrations/activity-definitions/` (`weekly-coach-orientation.md`, `weekly-optimization-review.md`) into the activity-core catalog path (per ACT-ADR-002). *Deferred: coulomb-loop engagement ships customer-owned daily bootstrap definitions instead (LOOP-WP-0001).* - [ ] **Register** weekly definition slugs in the activity-core index (when custodian fleet moves off coulomb engagement copies). - [x] **Run** `make sync-activity-definitions` — coulomb-loop definitions synced (`coulomb-hourly-coach-orientation`, `coulomb-hourly-optimization-review`, etc.). - [x] **Wire cron** triggers — daily stabilize chain on pilot roster (08:00–10:00). - [x] **Smoke test** — resolver dry-run returns 6 `scheduled_runs` on coulomb roster; `schedule prepare coach` succeeds on `kaizen-agentic` and `the-custodian`. - [x] **Enable gradually** — coulomb bootstrap definitions `enabled: true` on pilot. - [x] **Verify runner prerequisites** — `kaizen-agentic` on PATH; `KAIZEN_RUNNER_HOST` set on worker (`bnt-lap001`). ### Supplier closure evidence (2026-06-18) | Check | Result | |-------|--------| | Resolver dry-run (coulomb roster, `cadence: daily`) | 6 runs across 3 pilot repos | | `tests/test_kaizen_context_resolver.py` | 7 passed | | `schedule validate` + `prepare coach` | OK on `kaizen-agentic`, `the-custodian`, `activity-core` | | Live definitions using resolver | `f234bb1a` coach, `097fc027` optimization (enabled) | **Remaining activity-core item:** optional custodian-fleet weekly templates (`enabled: false` in kaizen-agentic drafts) when engagement moves beyond coulomb-loop bootstrap copies. ## State Hub team (the-custodian) - [ ] Optional: add `kaizen_schedule_enabled` repo flag + `GET /repos/` filter (v2 pre-filter; the repo file remains the source of truth). ## Smoke test (manual, runner-agnostic) ```bash 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) ## Related - [ADR-005](../adr/ADR-005-scheduled-agent-execution.md) - [INTEGRATION_PATTERNS.md Pattern 2](../INTEGRATION_PATTERNS.md) - [KAIZEN-WP-0006](../../workplans/kaizen-agentic-WP-0006-scheduled-agent-execution.md)