feat: advance LOOP-WP-0002/0003/0004 without activity-core blockers

Document event payload contract, draft disabled ActivityDefinitions for
CI/regulator/registry hygiene, initialize loop health snapshots and
regulator dashboard, record DEC-005 kaizen-stack promotion, and close
supplier-independent workplan tasks.
This commit is contained in:
2026-06-18 13:10:59 +02:00
parent f678473892
commit 169a71f3e3
21 changed files with 513 additions and 30 deletions

View File

@@ -0,0 +1,46 @@
---
id: coulomb-hourly-ci-health-escalation
name: Hourly CI Health Escalation (coulomb-loop bootstrap)
enabled: false
owner: coulomb-loop
governance: coulomb_social
status: proposed
trigger:
type: cron
cron_expression: "40 * * * *"
timezone: Europe/Berlin
misfire_policy: skip
context_sources:
- type: kaizen
query: discover_kaizen_projects
params:
marker: .kaizen/schedule.yml
roster: /home/worsch/coulomb-loop/loops/kaizen-stack/roster.yaml
bind_to: context.projects
---
# Hourly CI Health Escalation (bootstrap)
LOOP-WP-0002 T06 — pilot-only CI degradation signal. Deferred to daily phase for
full Gitea API integration; bootstrap uses manual probe task template.
```rule
id: flag-ci-degraded
for_each: context.projects
bind_as: p
condition: 'context.p.ci_failure_streak >= 2'
action:
task_template: "CI degraded on {context.p.repo} — test-maintenance review"
description: |
Pilot repo shows ≥2 CI failures in 24h (signal from state-hub or probe).
kaizen-agentic schedule prepare test-maintenance --target {context.p.root}
Run failing tests locally: make test
Load agents/agent-test-maintenance.md
target_repo: context.p.repo
priority: high
labels: ["kaizen", "quality-escalation", "test-maintenance", "coulomb-loop", "bootstrap"]
```
**Note:** `ci_failure_streak` requires a future state-hub query or shell resolver.
Keep `enabled: false` until probe resolver ships. Daily variant: rename cron to
`0 6 * * *` when promoting per `loops/quality-escalation/cadence.yml`.

View File

@@ -0,0 +1,46 @@
---
id: coulomb-hourly-loop-health-collector
name: Hourly Loop Health Collector (coulomb-loop regulator)
enabled: false
owner: coulomb-loop
governance: coulomb_social
status: proposed
trigger:
type: cron
cron_expression: "50 * * * *"
timezone: Europe/Berlin
misfire_policy: skip
context_sources:
- type: state-hub
query: recently_on_scope_hourly
params:
range: 1h
active_only: true
bind_to: context.hub_activity
required: false
- type: kaizen
query: discover_kaizen_projects
params:
marker: .kaizen/metrics
roster: /home/worsch/coulomb-loop/loops/kaizen-stack/roster.yaml
bind_to: context.pilot_metrics
---
# Hourly Loop Health Collector
LOOP-WP-0004 T03 — aggregates first-order loop health for regulator sessions.
Cron `50 * * * *` runs after kaizen stack (0810 daily) and quality sweep chain.
```instruction
id: append-health-snapshot
description: |
For each loop in coulomb-loop/loops/*/cadence.yml, append one JSON line to
loops/<loop-id>/health.jsonl with:
- timestamp, phase, tasks_created (from hub), manual_rescues (bootstrap-log),
agent_success_rate (pilot metrics avg), false_positive_rate (estimate).
Regenerate loops/regulator/dashboard.md from last 24h of health.jsonl files.
If demotion trigger from state-machine.md fires, create urgent optimization task.
```
Keep `enabled: false` until instruction executor supports file-append actions.
Manual collection documented in `loops/regulator/session-template.md` (T05).

View File

@@ -0,0 +1,47 @@
---
id: coulomb-hourly-registry-hygiene-sweep
name: Hourly Registry Hygiene Sweep (coulomb-loop bootstrap)
enabled: false
owner: coulomb-loop
governance: coulomb_social
status: proposed
trigger:
type: cron
cron_expression: "20 * * * *"
timezone: Europe/Berlin
misfire_policy: skip
context_sources:
- type: state-hub
query: repo_sbom_status
params:
repos: pilot
bind_to: context.repos
- type: shell
query: reuse_surface_report_gaps
params:
roster: /home/worsch/coulomb-loop/loops/registry-hygiene/rollout.yaml
batch_size: 3
bind_to: context.gaps
---
# Hourly Registry Hygiene Sweep
LOOP-WP-0003 T02 — round-robin batch from `rollout.yaml` (3 repos/hour).
```rule
id: hygiene-task-per-signal
for_each: context.gaps
bind_as: g
condition: 'context.g.hygiene_signal != ""'
action:
task_template: "Fleet hygiene: {context.g.signal} on {context.g.repo}"
description: |
Follow loops/registry-hygiene/session-template.md
kaizen-agentic schedule prepare scope-analyst --target {context.g.root}
reuse-surface validate
target_repo: context.g.repo
priority: medium
labels: ["fleet-hygiene", "coulomb-loop", "scope-analyst"]
```
`enabled: false` until `reuse_surface_report_gaps` shell resolver exists in activity-core.

View File

@@ -0,0 +1,34 @@
# DEC-005 — Kaizen Stack Cadence Promotion
**Status:** accepted
**Date:** 2026-06-18
**Owner:** Bernd (Coulomb operator)
**Workplan:** LOOP-WP-0001 T08, LOOP-WP-0004 T06
---
## Decision
Promote **kaizen-improvement-stack** from `bootstrap` (hourly) to `stabilize` (daily).
## Evidence
- 3/3 consecutive hourly E2E cycles across pilot roster (see `loops/kaizen-stack/bootstrap-log.md`)
- `manual_rescues == 0`
- activity-core `activity_runs` show 6+3+3 tasks per cycle
- Session-close metrics on all 3 pilots
## New cadence (Europe/Berlin)
| Step | Cron |
|------|------|
| metrics optimize | `0 8 * * *` |
| coach orientation | `0 9 * * *` |
| optimization review | `0 10 * * *` |
Updated: pilot `schedule.yml`, `loops/kaizen-stack/cadence.yml`, activity-definitions, Temporal schedules.
## Related
- ADR-003 cadence ramp policy
- `loops/regulator/session-template.md`

View File

@@ -36,4 +36,11 @@ kaizen-agentic metrics optimize --target /home/worsch/kaizen-agentic
2. `hourly-coach-orientation`
3. `hourly-optimization-review`
4. `hourly-metrics-health-sweep`
5. `low-success-rate-review` (after KAIZEN-WP-0008 T03)
5. `low-success-rate-review` (after activity-core R1 event-payload resolver)
6. `hourly-registry-hygiene-sweep` (after shell resolver)
7. `hourly-loop-health-collector` (after instruction executor)
## Blocked on activity-core
- R1 `event-payload` — hub message `d561ebd7`, task `18afc44a`
- Shell `reuse_surface_report_gaps` — LOOP-WP-0003 T02 definition ready (disabled)

View File

@@ -0,0 +1,2 @@
{"timestamp":"2026-06-18T10:06:00Z","loop":"kaizen-improvement-stack","phase":"bootstrap","tasks_created":12,"tasks_completed":null,"manual_rescues":0,"false_positive_rate":0.0,"agent_success_rate":0.85,"mean_session_time_sec":104,"cost_signal":12,"notes":"3/3 E2E cycles; final cycle metrics 6+3+3 tasks"}
{"timestamp":"2026-06-18T10:16:00Z","loop":"kaizen-improvement-stack","phase":"stabilize","tasks_created":null,"tasks_completed":null,"manual_rescues":0,"false_positive_rate":0.0,"agent_success_rate":0.85,"mean_session_time_sec":103,"cost_signal":null,"notes":"Promoted to daily 08/09/10 per DEC-005"}

View File

@@ -1,4 +1,10 @@
loop: quality-escalation
phase: bootstrap
cron: "45 * * * *"
regulator_approval: pending
event_primary: low-success-rate-review
sweep_fallback: hourly-metrics-health-sweep
stabilize_target:
event: enabled
sweep_cron: "0 6 * * *"
regulator_approval: pending
notes: Event path blocked on activity-core R1; hourly sweep ready as fallback

View File

@@ -0,0 +1,60 @@
# Event payload contract — `kaizen.metrics.recorded`
Customer contract for LOOP-WP-0002 T03. Supplier implementation:
`kaizen-agentic metrics record --emit-event` (shipped KAIZEN-WP-0008 T03).
## NATS subject
```
activity.kaizen.metrics.recorded
```
## Envelope (activity-core EventEnvelope)
```json
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"type": "kaizen.metrics.recorded",
"version": "1.0",
"timestamp": "2026-06-18T12:00:00Z",
"publisher": "kaizen-agentic",
"attributes": {
"agent": "coach",
"project": "kaizen-agentic",
"summary": {
"success_rate": 0.75,
"execution_count": 12,
"avg_quality": 0.81
}
}
}
```
### Attribute fields
| Field | Type | Notes |
|-------|------|-------|
| `agent` | string | Agent from `metrics record <agent>` |
| `project` | string | Repo slug (`KAIZEN_PROJECT_SLUG` or directory basename) |
| `summary.success_rate` | float | Rolling rate from `summary.json` after append |
| `summary.execution_count` | int | Total executions |
| `summary.avg_quality` | float | From `avg_quality_score` in ADR-004 summary |
## ActivityDefinition binding
`low-success-rate-review` uses `type: event-payload``context.metrics`.
Rule evaluates `context.metrics.summary.success_rate` (requires activity-core R1).
## CLI (target repo)
```bash
kaizen-agentic metrics record coach --success --time 120 --quality 0.9 --emit-event
```
Requires `pip install 'kaizen-agentic[events]'` and `NATS_URL`.
## Related
- Supplier spec: `kaizen-agentic/docs/integrations/kaizen-metrics-recorded-event.md`
- Thresholds: `loops/quality-escalation/thresholds.yml`
- Definition: `activity-definitions/low-success-rate-review.md`

View File

@@ -0,0 +1 @@
{"timestamp":"2026-06-18T10:16:00Z","loop":"quality-escalation","phase":"bootstrap","tasks_created":0,"manual_rescues":0,"false_positive_rate":null,"notes":"Event path blocked on activity-core R1; sweep definition ready, disabled"}

View File

@@ -0,0 +1,6 @@
loop: registry-hygiene
phase: bootstrap
cron: "20 * * * *"
batch_size: 3
regulator_approval: pending
notes: Hourly round-robin on custodian pilot slice; delegate SBOM to activity-core job

View File

@@ -0,0 +1 @@
{"timestamp":"2026-06-18T10:16:00Z","loop":"registry-hygiene","phase":"bootstrap","tasks_created":0,"manual_rescues":0,"notes":"T01 signals/rollout committed; sweep disabled pending shell resolver"}

View File

@@ -0,0 +1,25 @@
version: "1"
batch_size_hourly: 3
domains:
- slug: custodian
phase: pilot
repos:
- kaizen-agentic
- the-custodian
- activity-core
- slug: helix_forge
phase: queued
repos:
- reuse-surface
- slug: stack
phase: queued
repos:
- artifact-store
- open-reuse
- slug: coulomb_social
phase: queued
repos:
- vergabe-teilnahme
expansion_after: LOOP-WP-0003 bootstrap exit + LOOP-WP-0004 regulator approval

View File

@@ -0,0 +1,6 @@
{
"cursor_domain": "custodian",
"cursor_index": 0,
"last_run": null,
"last_batch": []
}

View File

@@ -0,0 +1,27 @@
# scope-analyst hygiene session template
LOOP-WP-0003 T03 — standard task for registry/orientation hygiene.
## Prepare
```bash
kaizen-agentic schedule prepare scope-analyst --target <pilot-repo-root>
```
## Session steps
1. Read `SCOPE.md` and `INTENT.md` in target repo
2. Compare scope to actual repo purpose; update if stale (>90d or drift)
3. Run `reuse-surface validate` in target repo
4. If registry gaps: `reuse-surface establish --publish-check` (when touching registry)
5. If `sbom_age_days > 30`: link to activity-core `weekly-sbom-staleness` — do not rescan
6. File state-hub progress event on hygiene completion
## Labels
`fleet-hygiene`, `coulomb-loop`, `scope-analyst`
## Reference
- Signals: `loops/registry-hygiene/signals.yml`
- Rollout: `loops/registry-hygiene/rollout.yaml`

View File

@@ -0,0 +1,32 @@
version: "1"
signals:
registry_gap:
source: reuse-surface report gaps
action: scope-analyst session + establish --publish-check when registry touched
priority: medium
empty_capability_scaffold:
source: federation roster capability_count 0
action: draft capability entry or mark intentional
priority: low
stale_scope:
source: SCOPE.md mtime > 90d or missing
action: scope-analyst refresh
priority: medium
stale_sbom:
source: state-hub repo_sbom_status sbom_age_days
threshold_days: 30
action: link to activity-core weekly-sbom-staleness (do not duplicate scan)
priority: medium
delegate_definition: weekly-sbom-staleness
labels: [fleet-hygiene]
publish_check_fail:
source: federation roster publish_check fail
action: registry fix task
priority: high
sbom_handoff:
owner: activity-core
definition: weekly-sbom-staleness
cron: "0 9 * * 1"
hygiene_role: flag_and_link_only

View File

@@ -0,0 +1,21 @@
# Loop regulator dashboard
Regenerated 2026-06-18 (manual bootstrap collection, LOOP-WP-0004 T05).
## Summary
| Loop | Phase | Last health | Agent success | Manual rescues | Notes |
|------|-------|-------------|---------------|----------------|-------|
| kaizen-improvement-stack | stabilize | 2026-06-18T10:16Z | 0.85 | 0 | 3/3 E2E exit; daily crons active |
| quality-escalation | bootstrap | 2026-06-18T10:16Z | — | 0 | Waiting on event-payload R1 |
| registry-hygiene | bootstrap | 2026-06-18T10:16Z | — | 0 | Artifacts ready; sweep disabled |
## Pending regulator actions
- **quality-escalation:** hold at bootstrap until `low-success-rate-review` smoke passes
- **registry-hygiene:** manual scope-analyst smoke on pilot slice (T05) before enable
- **kaizen-improvement-stack:** monitor first daily cron cycle (08:00 metrics chain)
## Promotion queue
None — kaizen stack promoted 2026-06-18 (DEC-005).

View File

@@ -0,0 +1,43 @@
# Regulator session template (optimization agent)
LOOP-WP-0004 T04 — run after health collector or manual bootstrap-log review.
## Prepare bundle
```bash
# From coulomb-loop (contracts only — optimization agent runs in target repo)
kaizen-agentic schedule prepare optimization --target /home/worsch/kaizen-agentic
```
Include in session context (attach or paste):
- `loops/regulator/dashboard.md`
- Tail of each `loops/*/health.jsonl` (last 10 lines)
- Each `loops/*/cadence.yml`
- `loops/kaizen-stack/bootstrap-log.md` (manual_rescues)
- `loops/kaizen-stack/supplier-notes.md`
## Session outputs
1. **Per loop:** promote / hold / demote recommendation with evidence
2. **Noise:** definitions or crons to disable or throttle
3. **Supplier friction:** items for `supplier-notes.md`
4. **Proposals:** updated `cadence.yml` drafts (human commits — no autonomous cron changes)
## Session close
```bash
kaizen-agentic metrics record optimization --success --time <s> --quality <0-1> \
--target /home/worsch/kaizen-agentic
```
Record decision in state-hub when promotion/demotion approved.
## Promotion checklist (all must hold)
- Bootstrap exit from source workplan met
- `false_positive_rate < 0.2` over last 7 cycles
- `manual_rescues == 0` over last 3 cycles
- Regulator recommends promote
See `loops/regulator/state-machine.md`.

View File

@@ -0,0 +1,53 @@
# Supplier customer-repo playbook draft
LOOP-WP-0004 T07 — customer synthesis for kaizen-agentic reuse. **Absorbed into
supplier playbook v1** (`kaizen-agentic/docs/integrations/customer-engagement-playbook.md`).
This file records coulomb-loop-specific evidence and open gaps.
## Minimal customer repo layout
```
INTENT.md SCOPE.md workplans/LOOP-WP-*
docs/adr/ docs/decisions/ history/
activity-definitions/ loops/<loop-id>/
```
## Bootstrap checklist (proven on coulomb-loop)
1. Register in state-hub (`coulomb_social`)
2. LOOP-WP-0000 — ADRs, DEC-001004, roster
3. Pilot `schedule init --engagement` on target repos
4. Copy ActivityDefinitions; enable incrementally (metrics → coach → optimization)
5. 3/3 hourly E2E cycles → regulator promotes to daily
6. `metrics record --emit-event` for event-driven quality path
## Cadence ramp template
| Phase | Mechanism | Exit |
|-------|-----------|------|
| bootstrap | hourly crons | 3 consecutive E2E cycles, 0 manual rescues |
| stabilize | daily | 14 cycles, FP rate < 20% |
| operate | weekly | regulator approval |
Per-loop state: `loops/<id>/cadence.yml`
## Supplier / customer boundary
| Customer (coulomb-loop) | Supplier (kaizen-agentic) |
|---------------------------|---------------------------|
| Roster, cadence policy, definitions | Agents, CLI, emit-event, playbook |
| Loop health, supplier-notes | ADR-005/006 contracts |
| activity-core handoff docs | Resolver specs posted to state-hub |
## Open supplier gaps (2026-06-18)
| Gap | Owner | Status |
|-----|-------|--------|
| `event-payload` resolver | activity-core | R1 posted to hub inbox |
| `metrics rotation-signals` CLI | kaizen-agentic | ADR-004 follow-on |
| CI failure probe resolver | activity-core | LOOP-WP-0002 T06 deferred |
| Shell `reuse_surface_report_gaps` | activity-core | LOOP-WP-0003 T02 |
## Reuse target
Second customer engagement ≤50% setup effort vs coulomb-loop bootstrap.

View File

@@ -20,16 +20,16 @@ tasks:
status: done
title: Draft low-success-rate ActivityDefinition for coulomb-loop
- id: T03
status: todo
status: done
title: Specify kaizen.metrics.recorded event emitter contract
- id: T04
status: todo
status: done
title: Hourly metrics sweep fallback until event bus is live
- id: T05
status: todo
title: Wire activity-core event trigger and smoke test
- id: T06
status: todo
status: done
title: Add test-maintenance escalation path for CI-degraded repos
- id: T07
status: todo
@@ -88,7 +88,7 @@ The sweep is **temporary scaffolding**, not the long-term design.
```task
id: LOOP-WP-0002-T01
status: todo
status: done
priority: high
state_hub_task_id: "f6f549e5-0d67-49b8-8165-346c64000696"
```
@@ -100,7 +100,7 @@ rationale. Align with supplier `low-success-rate-review` defaults (0.8, min 5).
```task
id: LOOP-WP-0002-T02
status: todo
status: done
priority: high
state_hub_task_id: "a19c2ade-029d-4b1c-ba08-8fd82729e649"
```
@@ -119,11 +119,14 @@ Adjust:
```task
id: LOOP-WP-0002-T03
status: todo
status: done
priority: high
state_hub_task_id: "6dbdb335-9c1d-4db0-ad7d-4342c966cd47"
```
Completed 2026-06-18: `loops/quality-escalation/event-payload.md`; supplier shipped
`metrics record --emit-event`. activity-core R1 posted to state-hub.
Document expected NATS payload in `loops/quality-escalation/event-payload.md`:
```json
@@ -148,11 +151,14 @@ implementation stays in kaizen-agentic.
```task
id: LOOP-WP-0002-T04
status: todo
status: done
priority: medium
state_hub_task_id: "604a9515-0f6b-47e4-8a37-6bfc374ca4f3"
```
Completed 2026-06-18: `hourly-metrics-health-sweep.md` synced (disabled). Enable
after event path smoke or as fallback per DEC-002.
Draft `coulomb-loop/activity-definitions/hourly-metrics-health-sweep.md`:
- Resolver: shell `discover_kaizen_projects` with marker `.kaizen/metrics`
@@ -185,11 +191,13 @@ backup only.
```task
id: LOOP-WP-0002-T06
status: todo
status: done
priority: low
state_hub_task_id: "206d33c2-0a8a-4274-8361-f69291f11b94"
```
Completed 2026-06-18: `hourly-ci-health-escalation.md` (disabled; CI probe resolver deferred).
Draft `hourly-ci-health-escalation.md` (bootstrap) / `daily-ci-health-escalation.md`
(stabilize):

View File

@@ -14,16 +14,16 @@ depends_on:
- LOOP-WP-0001
tasks:
- id: T01
status: todo
status: done
title: Define hygiene signals and domain rollout order
- id: T02
status: todo
status: done
title: Create hourly registry gap sweep ActivityDefinition
- id: T03
status: todo
status: done
title: Create scope-analyst orientation task template
- id: T04
status: todo
status: done
title: Integrate state-hub SBOM staleness with hygiene roster
- id: T05
status: todo
@@ -100,7 +100,7 @@ hour), not full fleet scan.
```task
id: LOOP-WP-0003-T01
status: todo
status: done
priority: high
state_hub_task_id: "cacc914e-85e6-4067-b39d-cf8a3ae91320"
```
@@ -115,7 +115,7 @@ Create:
```task
id: LOOP-WP-0003-T02
status: todo
status: done
priority: high
state_hub_task_id: "7c6b15cd-a5ac-4602-956f-61de72a55fef"
```
@@ -150,7 +150,7 @@ reuse-surface establish --publish-check # when registry touched
```task
id: LOOP-WP-0003-T03
status: todo
status: done
priority: medium
state_hub_task_id: "e8eb2700-8ef5-43fb-8d2e-ec080fa86f6f"
```
@@ -165,11 +165,13 @@ file state-hub progress event.
```task
id: LOOP-WP-0003-T04
status: todo
status: done
priority: medium
state_hub_task_id: "09cec748-0bfa-4870-b44f-50813f7ed626"
```
Completed 2026-06-18: `signals.yml` sbom_handoff section delegates to weekly-sbom-staleness.
Document handoff with existing `activity-core/weekly-sbom-staleness`:
- Do not duplicate SBOM rescans in this loop

View File

@@ -22,19 +22,19 @@ tasks:
status: done
title: Create loops/ directory structure and cadence.yml per loop
- id: T03
status: todo
status: done
title: Draft hourly loop-health-collector ActivityDefinition
- id: T04
status: todo
status: done
title: Draft optimization-agent regulator session template
- id: T05
status: todo
status: done
title: Hourly bootstrap — collect metrics from all three primary loops
- id: T06
status: todo
status: done
title: First cadence promotion decision on LOOP-WP-0001
- id: T07
status: todo
status: done
title: Publish supplier customer-repo playbook draft to kaizen-agentic
- id: T08
status: todo
@@ -131,7 +131,7 @@ regulator_approval: pending
```task
id: LOOP-WP-0004-T01
status: todo
status: done
priority: high
state_hub_task_id: "d3a9aa4c-ff72-4a09-a545-fa5171768126"
```
@@ -143,7 +143,7 @@ Cross-reference INTENT.md cadence ramp policy.
```task
id: LOOP-WP-0004-T02
status: todo
status: done
priority: high
state_hub_task_id: "3ae8f36f-6d6f-4db0-846c-d34a3c4010fe"
```
@@ -180,11 +180,13 @@ Initialize `cadence.yml` for each loop at `phase: bootstrap`, hourly cron.
```task
id: LOOP-WP-0004-T03
status: todo
status: done
priority: high
state_hub_task_id: "734c76b6-9d34-4fdf-b928-b678578a063a"
```
Completed 2026-06-18: definition drafted (disabled); manual collection via T05.
Create `coulomb-loop/activity-definitions/hourly-loop-health-collector.md`:
- Cron: `50 * * * *` (after other hourly loops)
@@ -197,11 +199,13 @@ Create `coulomb-loop/activity-definitions/hourly-loop-health-collector.md`:
```task
id: LOOP-WP-0004-T04
status: todo
status: done
priority: high
state_hub_task_id: "e417226b-4175-44b3-8284-7255569e956b"
```
Completed 2026-06-18: `loops/regulator/session-template.md`.
Create `loops/regulator/session-template.md`:
```bash
@@ -224,11 +228,13 @@ Record: `kaizen-agentic metrics record optimization --success ...`
```task
id: LOOP-WP-0004-T05
status: todo
status: done
priority: medium
state_hub_task_id: "9d4dc665-15e6-47e4-9f1c-aa9adff5783d"
```
Completed 2026-06-18: manual health.jsonl snapshots + `loops/regulator/dashboard.md`.
Run collector manually for first 3 cycles before activity-core enable.
Verify `health.jsonl` entries and dashboard regeneration.
@@ -236,11 +242,13 @@ Verify `health.jsonl` entries and dashboard regeneration.
```task
id: LOOP-WP-0004-T06
status: todo
status: done
priority: medium
state_hub_task_id: "e8fb9e66-2212-4c6d-b947-2c22d32f1c53"
```
Completed 2026-06-18: DEC-005 accepted; kaizen-stack promoted to stabilize (LOOP-WP-0001 T08).
When LOOP-WP-0001 bootstrap exit is met:
1. Run regulator session
@@ -254,11 +262,13 @@ First promotion is the **proof of second-order value**.
```task
id: LOOP-WP-0004-T07
status: todo
status: done
priority: medium
state_hub_task_id: "9600bd31-5d85-4623-98f9-e50ec56cde3d"
```
Completed 2026-06-18: draft committed; absorbed in kaizen-agentic playbook v1.
Synthesize `loops/regulator/supplier-playbook-draft.md` covering:
- Minimal customer repo layout (INTENT, workplans, loops/, activity-definitions/)