--- id: KAIZEN-WP-0008 type: workplan title: "Coulomb-loop supplier engagement (customer-repo playbook)" domain: custodian repo: kaizen-agentic status: active owner: kaizen-agentic topic_slug: custodian customer_repo: coulomb-loop created: "2026-06-18" updated: "2026-06-18" depends_on: - KAIZEN-WP-0006 - KAIZEN-WP-0004 tasks: - id: T01 status: todo title: Document customer engagement repo layout from coulomb-loop reference - id: T02 status: done title: Add docs/integrations/customer-engagement-playbook.md skeleton - id: T03 status: done title: Implement metrics record --emit-event for kaizen.metrics.recorded - id: T04 status: done title: Add schedule init --engagement mode for customer repos - id: T05 status: done title: Support pilot schedule init on kaizen-agentic the-custodian activity-core - id: T06 status: todo title: Draft ADR-006 customer engagement convention - id: T07 status: todo title: Absorb coulomb-loop supplier-notes into playbook v1 - id: T08 status: todo title: ActivityDefinition override manifest design for hybrid sync - id: T09 status: todo title: Tests for emit-event and engagement init - id: T10 status: todo title: Update CHANGELOG wiki and cross-link coulomb-loop INTENT state_hub_workstream_id: "80f473eb-d052-4f50-a633-806f03c469be" --- # KAIZEN-WP-0008 — Coulomb-loop Supplier Engagement **Status:** active **Owner:** kaizen-agentic (supplier) **Customer:** `coulomb-loop` (coulomb_social domain) **Depends on:** WP-0006 (schedule contract), WP-0004 (activity-core integration) ## Goal Deliver supplier capabilities for Coulomb's self-improvement loop engagement and **generalize learnings** into a reusable customer-repo bootstrap playbook — so the next engagement requires ≤50% setup effort compared to coulomb-loop. This workplan is the **supplier mirror** of coulomb-loop LOOP-WP-0001–0004. Customer-specific operations stay in `coulomb-loop`; reusable IP stays here. ## Engagement model ```mermaid flowchart LR CL[coulomb-loop customer] KA[kaizen-agentic supplier] TR[target repos fleet] AC[activity-core] CL -->|contracts rosters definitions| AC KA -->|agents CLI ADRs playbook| CL KA -->|schedule prepare metrics| TR AC -->|tasks| TR ``` See coulomb-loop `docs/adr/ADR-002-customer-supplier-boundary.md`. ## Sequencing (per DEC-004 default — smoke-first) ``` Part 1 (T01–T02, T05) ── parallel with coulomb-loop smoke test Part 2 (T03–T04, T06–T09) ── after first hourly E2E pass Part 3 (T07–T08, T10) ── after LOOP-WP-0004 supplier-notes available ``` --- ## Part 1 — Document and support smoke test ## Document customer engagement repo layout ```task id: KAIZEN-WP-0008-T01 status: todo priority: high state_hub_task_id: "177bb16c-6239-43f2-8d99-f4498c31d74a" ``` Create `docs/integrations/customer-engagement-repo-layout.md` from coulomb-loop reference: ``` customer-repo/ INTENT.md SCOPE.md workplans/LOOP-WP-* or -WP-* docs/adr/ docs/decisions/ history/ activity-definitions/ # customer-owned copies loops// # roster cadence health ``` No code — layout contract only. ## Playbook skeleton ```task id: KAIZEN-WP-0008-T02 status: todo priority: high state_hub_task_id: "90bd0fc2-6e49-4a59-9a78-91e749cef8a6" ``` Add `docs/integrations/customer-engagement-playbook.md`: 1. Register repo (state-hub `register_project.sh`) 2. Write INTENT + 4 loop workplans 3. Run `fix-consistency` 4. Pilot `schedule init` on target repos 5. Sync ActivityDefinitions to activity-core 6. Bootstrap hourly → regulator promotes cadence Link to coulomb-loop as reference implementation. ## Support pilot schedule init ```task id: KAIZEN-WP-0008-T05 status: done priority: high state_hub_task_id: "a48598b7-2a33-46ef-8594-6a2702459f39" ``` Completed 2026-06-18 on kaizen-agentic, the-custodian, activity-core. Bootstrap hourly crons patched manually; friction logged in coulomb-loop `supplier-notes.md`. Execute on pilot repos (after DEC-001 approval): ```bash for repo in kaizen-agentic the-custodian activity-core; do cd ~/$repo kaizen-agentic schedule init --timezone Europe/Berlin kaizen-agentic memory init coach kaizen-agentic memory init optimization kaizen-agentic schedule validate done ``` Record friction in coulomb-loop `loops/kaizen-stack/supplier-notes.md`. --- ## Part 2 — Supplier automation ## metrics record --emit-event ```task id: KAIZEN-WP-0008-T03 status: done priority: medium state_hub_task_id: "26ee0f8d-2b69-4796-b276-b76238d67546" ``` Emit NATS event `kaizen.metrics.recorded` when flag set: ```bash kaizen-agentic metrics record coach --success --time 120 --quality 0.9 --emit-event ``` Payload per coulomb-loop LOOP-WP-0002 T03 / `low-success-rate-review` definition. Default: off (backward compatible). ## schedule init --engagement ```task id: KAIZEN-WP-0008-T04 status: done priority: medium state_hub_task_id: "62324bd2-1737-4864-889c-56179d0d11e8" ``` Scaffold customer-target schedule with bootstrap crons: ```bash kaizen-agentic schedule init --engagement coulomb-loop \ --agents coach,optimization --bootstrap-cadence hourly ``` Writes hourly crons per ADR-003; documents engagement slug in schedule comment. ## ADR-006 customer engagement convention ```task id: KAIZEN-WP-0008-T06 status: todo priority: medium state_hub_task_id: "5c06cdd9-655d-4837-b725-1f89b83db6d4" ``` `docs/adr/ADR-006-customer-engagement-convention.md` — formalize supplier/customer split, `.kaizen/` placement in target repos, playbook lifecycle. ## Tests ```task id: KAIZEN-WP-0008-T09 status: todo priority: medium state_hub_task_id: "f45077ea-5d24-4a85-bac2-ab9a3f61c20b" ``` Unit tests: `--emit-event` payload shape; `--engagement` schedule output. --- ## Part 3 — Playbook v1 and hybrid sync design ## Absorb supplier-notes into playbook v1 ```task id: KAIZEN-WP-0008-T07 status: todo priority: low state_hub_task_id: "0ef49fb5-af2f-4adf-aa90-1ea2cf389d00" ``` After LOOP-WP-0004 T07 draft in coulomb-loop, merge into playbook v1. Target: second customer can copy template repo and run checklist in one session. ## ActivityDefinition override manifest ```task id: KAIZEN-WP-0008-T08 status: todo priority: low state_hub_task_id: "c9bee570-89b5-43e5-aabc-23c7dcc4e30c" ``` Design-only (implements DEC-003 option C): YAML manifest mapping supplier definition id → customer cron/labels/enabled overrides. No runtime in v1. ## Documentation release ```task id: KAIZEN-WP-0008-T10 status: todo priority: low state_hub_task_id: "052a592b-ae7c-4213-9e09-eb8b37119d5e" ``` Update `wiki/EcosystemIntegration.md`, `CHANGELOG [Unreleased]`, cross-link coulomb-loop INTENT from `docs/integrations/customer-engagement-playbook.md`. --- ## ADR-004 follow-on (customer accepted 2026-06-18) After bootstrap metrics baseline, supplier may add: ``` kaizen-agentic metrics rotation-signals [--target PATH] ``` Reads `.kaizen/metrics/` + optimizer output; emits saturation score per `coulomb-loop/loops/regulator/rotation-policy.yml`. Feeds LOOP-WP-0004 T09. Track as KAIZEN-WP-0008 extension task if needed after T03 ships. ## Out of scope - activity-core resolver implementation (activity-core repo) - coulomb-loop workplan execution (customer repo) - Fleet-wide rollout beyond agreed pilot (DEC-001) ## Success criteria 1. Pilot repos have valid `.kaizen/schedule.yml` via supplier CLI 2. `metrics record --emit-event` enables LOOP-WP-0002 event path 3. Playbook v1 committed; coulomb-loop cited as reference 4. ADR-006 accepted ## Customer workplans (do not duplicate here) | Customer WP | Supplier support | |-------------|------------------| | LOOP-WP-0001 | T05 schedule init; activity-core handoff docs | | LOOP-WP-0002 | T03 emit-event | | LOOP-WP-0003 | scope-analyst agent (existing) | | LOOP-WP-0004 | T07 playbook feedback |