# ADR-006: Customer Engagement Convention **Status:** accepted **Date:** 2026-06-18 **Deciders:** kaizen-agentic maintainers (supplier) **Customer reference:** coulomb-loop / LOOP-WP-0000 ## Context Coulomb's `coulomb-loop` engagement introduced a **customer/supplier split**: the customer repo holds contracts and operations; `kaizen-agentic` ships agents and CLI; target repos hold `.kaizen/` runtime state. We need a durable convention so the second customer engagement reuses ≤50% of coulomb-loop setup effort. ## Decision ### 1. Repo roles | Role | Owns | |------|------| | **Customer engagement repo** | INTENT, workplans, ADRs, rosters, ActivityDefinition copies, loop health | | **Supplier (kaizen-agentic)** | Agent prompts, CLI, integration specs, playbook, supplier workplans | | **Target repos** | `.kaizen/schedule.yml`, `agents/`, `metrics/`, memory | | **activity-core** | Cron/event orchestration, resolvers, task creation | ### 2. `.kaizen/` placement Project-scoped kaizen state **never** lives in the customer engagement repo. It lives only in repos where agents execute (fleet pilots). ### 3. Supplier CLI engagement mode ```bash kaizen-agentic schedule init --engagement \ --agents coach,optimization --bootstrap-cadence hourly ``` Writes bootstrap schedule with engagement comment and hourly cron presets. See [customer-engagement-playbook.md](../integrations/customer-engagement-playbook.md). ### 4. Event emission (opt-in) ```bash kaizen-agentic metrics record --success --time --quality <0-1> --emit-event ``` Publishes `kaizen.metrics.recorded` for activity-core event definitions. Default off for backward compatibility. ### 5. Playbook lifecycle 1. **Bootstrap** — customer LOOP-WP-0000; supplier KAIZEN-WP-0008 Part 1 2. **Smoke** — hourly E2E on pilot roster (LOOP-WP-0001) 3. **Automate** — emit-event, activity-core definitions enabled incrementally 4. **Generalize** — supplier-notes → playbook v1; ADR-006 + layout docs 5. **Second customer** — copy layout; swap roster and definitions ### 6. ActivityDefinition ownership Bootstrap uses **customer-owned copies** (coulomb DEC-003 option A). Hybrid override manifest (option C) is design-only — see [activity-definition-override-manifest.md](../integrations/activity-definition-override-manifest.md). ## Consequences - New engagements follow [customer-engagement-repo-layout.md](../integrations/customer-engagement-repo-layout.md) - Supplier friction is logged in customer `loops/*/supplier-notes.md` and absorbed into playbook - activity-core handoff requirements are documented per engagement wave ## Related - coulomb-loop `docs/adr/ADR-002-customer-supplier-boundary.md` - [ADR-005](ADR-005-scheduled-agent-execution.md) — schedule contract - [KAIZEN-WP-0008](../../workplans/kaizen-agentic-WP-0008-coulomb-loop-supplier-engagement.md)