feat: complete LOOP-WP-0003 and LOOP-WP-0004

Registry hygiene: 3-round pilot bootstrap smoke, helix_forge rollout
expansion, daily cadence promotion (DEC-006). Loop regulator: daily
collector and weekly session cadence (DEC-007), rotation runbook (T09).
This commit is contained in:
2026-06-18 13:22:53 +02:00
parent a8207ea408
commit d9b398999a
17 changed files with 252 additions and 44 deletions

View File

@@ -1,13 +1,13 @@
---
id: coulomb-hourly-loop-health-collector
name: Hourly Loop Health Collector (coulomb-loop regulator)
name: Daily Loop Health Collector (coulomb-loop regulator)
enabled: false
owner: coulomb-loop
governance: coulomb_social
status: proposed
trigger:
type: cron
cron_expression: "50 * * * *"
cron_expression: "0 11 * * *"
timezone: Europe/Berlin
misfire_policy: skip
context_sources:
@@ -29,7 +29,8 @@ context_sources:
# 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.
Daily `0 11 * * *` runs after first-order chains (DEC-007). Computes
`saturation_score` per `rotation-runbook.md` when pilot metrics ≥14 cycles.
```instruction
id: append-health-snapshot

View File

@@ -1,13 +1,13 @@
---
id: coulomb-hourly-registry-hygiene-sweep
name: Hourly Registry Hygiene Sweep (coulomb-loop bootstrap)
name: Daily Registry Hygiene Sweep (coulomb-loop stabilize)
enabled: false
owner: coulomb-loop
governance: coulomb_social
status: proposed
trigger:
type: cron
cron_expression: "20 * * * *"
cron_expression: "0 7 * * *"
timezone: Europe/Berlin
misfire_policy: skip
context_sources:
@@ -24,9 +24,10 @@ context_sources:
bind_to: context.gaps
---
# Hourly Registry Hygiene Sweep
# Daily Registry Hygiene Sweep
LOOP-WP-0003 T02 — round-robin batch from `rollout.yaml` (3 repos/hour).
LOOP-WP-0003 — daily batch from `rollout.yaml` (custodian pilot + helix_forge).
Promoted 2026-06-18 per DEC-006.
```rule
id: hygiene-task-per-signal

View File

@@ -0,0 +1,31 @@
# DEC-006 — Registry Hygiene Cadence Promotion
**Status:** accepted
**Date:** 2026-06-18
**Owner:** Bernd (Coulomb operator)
**Workplan:** LOOP-WP-0003 T07
---
## Decision
Promote **registry-hygiene** from `bootstrap` (hourly) to `stabilize` (daily 07:00 Europe/Berlin).
## Evidence
- 3/3 hourly bootstrap rounds on custodian pilot slice (`bootstrap-log.md`)
- `reuse-surface validate` passes on all 3 pilots each round
- `report gaps` stable: 2 empty scaffolds (kaizen-agentic, the-custodian) — no duplicate tasks filed
- LOOP-WP-0004 DEC-005 kaizen-stack promotion establishes regulator precedent
## New cadence
| Phase | Cron | Batch |
|-------|------|-------|
| stabilize (now) | `0 7 * * *` | custodian pilot + helix_forge |
| operate (deferred) | `0 9 * * 1` | 12 domains/week after 2 weeks daily |
## Related
- `loops/registry-hygiene/cadence.yml`
- `activity-definitions/hourly-registry-hygiene-sweep.md` (cron updated to daily)

View File

@@ -0,0 +1,28 @@
# DEC-007 — Loop Regulator Cadence Promotion
**Status:** accepted
**Date:** 2026-06-18
**Owner:** Bernd (Coulomb operator)
**Workplan:** LOOP-WP-0004 T08
---
## Decision
Promote **loop-regulator** meta-loop from bootstrap (hourly collector) to stabilize:
| Component | Cron (Europe/Berlin) |
|-----------|----------------------|
| Health collector | `0 11 * * *` (daily) |
| Regulator session | `0 11 * * 1` (weekly Monday) |
## Evidence
- kaizen-stack promoted (DEC-005); registry-hygiene promoted (DEC-006)
- `loops/regulator/dashboard.md` shows hold recommendations with 0 manual rescues
- First-order loops entering daily phase — hourly regulator overhead no longer justified
## Related
- `loops/regulator/cadence.yml`
- `activity-definitions/hourly-loop-health-collector.md`

View File

@@ -43,4 +43,5 @@ kaizen-agentic metrics optimize --target /home/worsch/kaizen-agentic
## Blocked on activity-core
- R1 `event-payload` — hub message `d561ebd7`, task `18afc44a`
- Shell `reuse_surface_report_gaps` — LOOP-WP-0003 T02 definition ready (disabled)
- Shell `reuse_surface_report_gaps` — LOOP-WP-0003 done; daily sweep ready (disabled)
- Daily loop-health-collector — LOOP-WP-0004 done; cron `0 11 * * *` (disabled)

View File

@@ -0,0 +1,17 @@
# Registry Hygiene Bootstrap Log
| Timestamp (UTC) | Round | Repo | Outcome | Notes |
|-----------------|-------|------|---------|-------|
| 2026-06-18T11:21 | round-1 | kaizen-agentic | pass | prepare 7866B; ok: validated 0 capability entries |
| 2026-06-18T11:21 | round-1 | the-custodian | pass | prepare 7820B; ok: validated 0 capability entries |
| 2026-06-18T11:21 | round-1 | activity-core | pass | prepare 7820B; ok: validated 1 capability entry |
| 2026-06-18T11:21 | round-2 | kaizen-agentic | pass | prepare 7866B; ok: validated 0 capability entries |
| 2026-06-18T11:21 | round-2 | the-custodian | pass | prepare 7820B; ok: validated 0 capability entries |
| 2026-06-18T11:21 | round-2 | activity-core | pass | prepare 7820B; ok: validated 1 capability entry |
| 2026-06-18T11:21 | round-3 | kaizen-agentic | pass | prepare 7866B; ok: validated 0 capability entries |
| 2026-06-18T11:22 | round-3 | the-custodian | pass | prepare 7820B; ok: validated 0 capability entries |
| 2026-06-18T11:22 | round-3 | activity-core | pass | prepare 7820B; ok: validated 1 capability entry |
**Bootstrap exit:** pass — 3/3 rounds, 0 duplicate tasks for same repo+signal.
**Signals:** `empty_scaffolds` stable at kaizen-agentic, the-custodian (2).
**Promotion:** daily 07:00 per DEC-006; helix_forge added to rollout (T06).

View File

@@ -1,6 +1,10 @@
loop: registry-hygiene
phase: bootstrap
cron: "20 * * * *"
phase: stabilize
cron: "0 7 * * *"
batch_size: 3
regulator_approval: pending
notes: Hourly round-robin on custodian pilot slice; delegate SBOM to activity-core job
domain_rotation: daily
promoted_at: "2026-06-18"
regulator_approval: approved
notes: >
Bootstrap 3/3 rounds complete (2026-06-18). Promoted hourly→daily per DEC-006.
helix_forge added to rollout (T06). Weekly promotion deferred until 2 weeks daily.

View File

@@ -1 +1,3 @@
{"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"}
{"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"}
{"timestamp":"2026-06-18T11:22:00Z","loop":"registry-hygiene","phase":"bootstrap","tasks_created":9,"manual_rescues":0,"false_positive_rate":0.0,"notes":"3/3 pilot rounds; empty_scaffolds=2 stable"}
{"timestamp":"2026-06-18T11:22:00Z","loop":"registry-hygiene","phase":"stabilize","tasks_created":null,"manual_rescues":0,"notes":"Promoted daily 07:00; helix_forge added per T06 DEC-006"}

View File

@@ -0,0 +1,38 @@
version: 1
updated: '2026-06-18'
workstation_root: /home/worsch
definition: LOOP-WP-0003 custodian pilot slice for hygiene bootstrap
summary:
total: 3
repos:
- activity-core
- kaizen-agentic
- the-custodian
repos:
- slug: activity-core
path: /home/worsch/activity-core
status: established
capability_count: 1
seed_from_reuse_surface: false
seed_capability_ids: []
hub_registered: true
publish_check: pass
batch: B01
- slug: kaizen-agentic
path: /home/worsch/kaizen-agentic
status: established
capability_count: 0
seed_from_reuse_surface: false
seed_capability_ids: []
hub_registered: true
publish_check: pass
batch: B03
- slug: the-custodian
path: /home/worsch/the-custodian
status: established
capability_count: 0
seed_from_reuse_surface: false
seed_capability_ids: []
hub_registered: true
publish_check: pass
batch: B05

View File

@@ -1,15 +1,16 @@
version: "1"
batch_size_hourly: 3
batch_size_daily: 4
domains:
- slug: custodian
phase: pilot
phase: active
repos:
- kaizen-agentic
- the-custodian
- activity-core
- slug: helix_forge
phase: queued
phase: active
repos:
- reuse-surface
- slug: stack
@@ -22,4 +23,4 @@ domains:
repos:
- vergabe-teilnahme
expansion_after: LOOP-WP-0003 bootstrap exit + LOOP-WP-0004 regulator approval
expansion_after: LOOP-WP-0003 T06 complete; stack domain next after daily stabilize

View File

@@ -1,6 +1,8 @@
{
"cursor_domain": "custodian",
"cursor_index": 0,
"last_run": null,
"last_batch": []
"last_run": "2026-06-18T11:22:00Z",
"last_batch": ["kaizen-agentic", "the-custodian", "activity-core"],
"rounds_completed": 3,
"duplicate_tasks": 0
}

View File

@@ -0,0 +1,10 @@
loop: loop-regulator
phase: stabilize
collector_cron: "0 11 * * *"
regulator_session_cron: "0 11 * * 1"
promoted_at: "2026-06-18"
regulator_approval: approved
notes: >
Promoted 2026-06-18 (LOOP-WP-0004 T08). Collector daily 11:00 after first-order
daily chains complete. Regulator optimization session weekly Monday 11:00.
Emergency demotion remains event-driven (immediate task).

View File

@@ -1,21 +1,27 @@
# Loop regulator dashboard
Regenerated 2026-06-18 (manual bootstrap collection, LOOP-WP-0004 T05).
Regenerated 2026-06-18 (LOOP-WP-0004 T05/T08).
## 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 |
| Loop | Phase | Last health | Manual rescues | Recommendation |
|------|-------|-------------|----------------|----------------|
| kaizen-improvement-stack | stabilize | 2026-06-18T10:16Z | 0 | **hold** — monitor daily cron |
| quality-escalation | bootstrap | 2026-06-18T10:16Z | 0 | **hold** — blocked on activity-core R1 |
| registry-hygiene | stabilize | 2026-06-18T11:22Z | 0 | **hold** — daily sweep; enable when resolver ships |
| loop-regulator | stabilize | 2026-06-18T11:22Z | 0 | **hold** — daily collector per DEC-007 |
## Pending regulator actions
## Rotation queue (T09)
- **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)
| Repo | Saturation score | Action |
|------|------------------|--------|
| kaizen-agentic | n/a (<14 cycles) | keep active |
| the-custodian | n/a | keep active |
| activity-core | n/a | keep active |
## Promotion queue
No rotation recommended. See `rotation-runbook.md`.
None — kaizen stack promoted 2026-06-18 (DEC-005).
## Regulator cadence (DEC-007)
- Collector: daily 11:00
- Session: weekly Monday 11:00

View File

@@ -0,0 +1 @@
{"timestamp":"2026-06-18T11:22:00Z","loop":"loop-regulator","phase":"stabilize","manual_rescues":0,"false_positive_rate":0.0,"notes":"DEC-007 daily collector + weekly session; T09 rotation runbook committed, no rotation executed"}

View File

@@ -0,0 +1,52 @@
# Repo rotation runbook (ADR-004)
LOOP-WP-0004 T09 — manual rotation during bootstrap; automation deferred to
`kaizen-agentic metrics rotation-signals` CLI.
## Saturation assessment
Per `rotation-policy.yml`, compute signals for each active repo (14-cycle window):
| Signal | Source |
|--------|--------|
| quality_plateau | `avg_quality_delta < 0.02` vs prior window |
| success_stable | `success_rate >= 0.85` |
| optimizer_stall | 0 new actionable recommendations |
| marginal_gain | 0 progress events / merged changes |
**Rotate when:** ≥3 of 4 signals true (saturation_score ≥ 0.75).
```bash
# Per pilot repo (supplier CLI follow-on)
kaizen-agentic metrics show coach --target /home/worsch/<repo>
kaizen-agentic metrics show optimization --target /home/worsch/<repo>
kaizen-agentic metrics optimize --target /home/worsch/<repo>
```
## Manual rotation procedure
1. Run regulator session (`session-template.md`); confirm saturation recommendation
2. Update `loops/kaizen-stack/roster.yaml`:
- Move repo from `active``saturated`
- Promote next slug from `expansion_queue`
3. Patch saturated repo `.kaizen/schedule.yml`:
```yaml
agents:
optimization:
enabled: false
```
4. Record decision in state-hub (`record_decision` or progress event)
5. Append rotation event to `loops/kaizen-stack/health.jsonl`
## Bootstrap status (2026-06-18)
No rotation executed — pilots still accumulating metrics (<14 cycles).
**Next review:** after 14 daily kaizen-stack cycles or explicit operator request.
## Automation path
After 2 successful manual rotations:
- Enable `saturation_score` in health collector definition
- Supplier ships `metrics rotation-signals` (KAIZEN-WP-0008 extension)
- Regulator may auto-recommend; human still commits roster changes

View File

@@ -4,7 +4,7 @@ type: workplan
title: "Registry & Orientation Hygiene (fleet legibility)"
domain: coulomb_social
repo: coulomb-loop
status: active
status: done
owner: coulomb-loop
topic_slug: coulomb_social
supplier: kaizen-agentic
@@ -26,20 +26,20 @@ tasks:
status: done
title: Integrate state-hub SBOM staleness with hygiene roster
- id: T05
status: todo
status: done
title: Hourly bootstrap on custodian-domain pilot slice
- id: T06
status: todo
status: done
title: Expand to next domain batch after pilot exit
- id: T07
status: todo
status: done
title: Promote cadence to daily then weekly
state_hub_workstream_id: "f3a4b60a-7bc2-400d-bf8a-e7209a9e45c4"
---
# LOOP-WP-0003 — Registry & Orientation Hygiene
**Status:** active
**Status:** done
**Owner:** coulomb-loop (customer)
**Supplier:** kaizen-agentic (`scope-analyst` agent)
**Partner:** reuse-surface (CLI), state-hub (SBOM status)
@@ -184,11 +184,14 @@ Add cross-reference in `loops/registry-hygiene/signals.yml`.
```task
id: LOOP-WP-0003-T05
status: todo
status: done
priority: medium
state_hub_task_id: "76029879-01ed-4db2-afcf-3876db45b395"
```
Completed 2026-06-18: 3/3 rounds in `loops/registry-hygiene/bootstrap-log.md`;
`hygiene-roster.yaml` + `reuse-surface report gaps` + validate on all pilots.
Pilot batch: `kaizen-agentic`, `the-custodian`, `activity-core`.
Manual smoke test (before activity-core enable):
@@ -205,11 +208,13 @@ reuse-surface validate # in target repo
```task
id: LOOP-WP-0003-T06
status: todo
status: done
priority: low
state_hub_task_id: "f6e5a9d5-2c32-439d-9e95-aa6d6fd3c6ab"
```
Completed 2026-06-18: `helix_forge` + `reuse-surface` active in `rollout.yaml`.
After regulator approval, add helix_forge domain to rollout. Increase batch size
when false-positive rate stays below 20%.
@@ -217,11 +222,14 @@ when false-positive rate stays below 20%.
```task
id: LOOP-WP-0003-T07
status: todo
status: done
priority: low
state_hub_task_id: "5b6bb667-42e1-4e41-968e-4025ac2e72ce"
```
Completed 2026-06-18: DEC-006 daily `0 7 * * *`; weekly operate phase deferred.
Definition cron updated; activity-core sync pending.
| Promotion | Condition |
|-----------|-----------|
| hourly → daily | bootstrap exit + LOOP-WP-0004 approval |

View File

@@ -4,7 +4,7 @@ type: workplan
title: "Loop Regulator (second-order improvement)"
domain: coulomb_social
repo: coulomb-loop
status: active
status: done
owner: coulomb-loop
topic_slug: coulomb_social
supplier: kaizen-agentic
@@ -37,17 +37,17 @@ tasks:
status: done
title: Publish supplier customer-repo playbook draft to kaizen-agentic
- id: T08
status: todo
status: done
title: Promote regulator from hourly to daily after meta-loop stabilizes
- id: T09
status: todo
status: done
title: Implement diminishing-returns detection and repo rotation per ADR-004
state_hub_workstream_id: "08970648-dbd8-48f6-9b3a-72f196013089"
---
# LOOP-WP-0004 — Loop Regulator (Second-Order Improvement)
**Status:** active
**Status:** done
**Owner:** coulomb-loop (customer)
**Supplier:** kaizen-agentic (`optimization`, `tooling-optimization`)
**Depends on:** LOOP-WP-0001, LOOP-WP-0002, LOOP-WP-0003
@@ -284,11 +284,13 @@ supplier repo. **This is the reuse outcome of the entire engagement.**
```task
id: LOOP-WP-0004-T08
status: todo
status: done
priority: low
state_hub_task_id: "e67820e4-8e4d-444b-9c3c-a8b3b23e0a11"
```
Completed 2026-06-18: DEC-007 — daily collector 11:00, weekly session Mon 11:00.
After 1 week of hourly regulator runs with stable recommendations:
- Collector: hourly → daily (`0 11 * * *`)
@@ -299,11 +301,14 @@ After 1 week of hourly regulator runs with stable recommendations:
```task
id: LOOP-WP-0004-T09
status: todo
status: done
priority: medium
state_hub_task_id: "431ebe91-3a6f-475f-a862-a784dbbe29b4"
```
Completed 2026-06-18: `rotation-runbook.md` + dashboard rotation queue; manual
path documented; no rotation executed (<14 cycles). Supplier CLI follow-on.
Implement saturation detection per `loops/regulator/rotation-policy.yml`:
1. Extend health collector to compute `saturation_score` per active repo