From 27e05552a23a1981901ebd7b473ab4fb0928ea79 Mon Sep 17 00:00:00 2001 From: tegwick Date: Fri, 19 Jun 2026 01:39:47 +0200 Subject: [PATCH] Complete LOOP-WP-0005: DEC-008 weekly operate promotion MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Operator override per ADR-003 closes the stabilize observation window early (day 2/14) and promotes all four loops to weekly Mon crons. Activity definitions renamed coulomb-daily-* → coulomb-weekly-*; cadence.yml, dashboard, SCOPE, and health records updated. activity-core definition sync still required on operator side. --- SCOPE.md | 6 +- .../low-success-rate-review.md | 2 +- ...ntation.md => weekly-coach-orientation.md} | 18 ++--- ...tor.md => weekly-loop-health-collector.md} | 12 ++-- ...weep.md => weekly-metrics-health-sweep.md} | 12 ++-- ...optimize.md => weekly-metrics-optimize.md} | 14 ++-- ...eview.md => weekly-optimization-review.md} | 18 ++--- ...ep.md => weekly-registry-hygiene-sweep.md} | 17 +++-- .../DEC-008-operate-phase-promotion.md | 66 +++++++++++++++++++ docs/integrations/activity-core-handoff.md | 30 +++++---- loops/kaizen-stack/cadence.yml | 30 +++------ loops/kaizen-stack/health.jsonl | 3 +- loops/quality-escalation/cadence.yml | 26 ++------ loops/quality-escalation/health.jsonl | 3 +- loops/quality-escalation/thresholds.yml | 8 ++- loops/registry-hygiene/cadence.yml | 28 +++----- loops/registry-hygiene/health.jsonl | 3 +- loops/regulator/cadence.yml | 23 ++----- loops/regulator/dashboard.md | 41 ++++++------ loops/regulator/health.jsonl | 3 +- loops/regulator/stabilize-observation.yml | 14 +++- .../LOOP-WP-0005-operate-phase-observation.md | 23 ++++--- 22 files changed, 227 insertions(+), 173 deletions(-) rename activity-definitions/{daily-coach-orientation.md => weekly-coach-orientation.md} (65%) rename activity-definitions/{daily-loop-health-collector.md => weekly-loop-health-collector.md} (79%) rename activity-definitions/{daily-metrics-health-sweep.md => weekly-metrics-health-sweep.md} (78%) rename activity-definitions/{daily-metrics-optimize.md => weekly-metrics-optimize.md} (71%) rename activity-definitions/{daily-optimization-review.md => weekly-optimization-review.md} (72%) rename activity-definitions/{daily-registry-hygiene-sweep.md => weekly-registry-hygiene-sweep.md} (72%) create mode 100644 docs/decisions/DEC-008-operate-phase-promotion.md diff --git a/SCOPE.md b/SCOPE.md index 9b83333..aefb254 100644 --- a/SCOPE.md +++ b/SCOPE.md @@ -41,10 +41,10 @@ with project-scoped memory and metrics. ## Current State -- Status: active (stabilize — daily cadence) +- Status: active (operate — weekly cadence) - Implementation: four loops operational on custodian pilot roster (3 repos) -- Stability: observation window 2026-06-18 → 2026-07-02 (LOOP-WP-0005) -- Usage: internal engagement; weekly promotion gated on regulator review +- Stability: observation window closed 2026-06-19 via DEC-008 operator override (LOOP-WP-0005 done) +- Usage: internal engagement; weekly Mon crons live; activity-core sync pending ## How It Fits diff --git a/activity-definitions/low-success-rate-review.md b/activity-definitions/low-success-rate-review.md index 16a124d..034ecb9 100644 --- a/activity-definitions/low-success-rate-review.md +++ b/activity-definitions/low-success-rate-review.md @@ -16,7 +16,7 @@ context_sources: # Low Agent Success Rate Review Enabled 2026-06-18 after activity-core event-payload resolver (ACTIVITY-WP-0011). -Fallback: `daily-metrics-health-sweep.md` at `0 6 * * *`. +Fallback: `weekly-metrics-health-sweep.md` at `0 6 * * 1`. ```rule id: flag-low-success-rate diff --git a/activity-definitions/daily-coach-orientation.md b/activity-definitions/weekly-coach-orientation.md similarity index 65% rename from activity-definitions/daily-coach-orientation.md rename to activity-definitions/weekly-coach-orientation.md index b33c181..ca5c661 100644 --- a/activity-definitions/daily-coach-orientation.md +++ b/activity-definitions/weekly-coach-orientation.md @@ -1,13 +1,13 @@ --- -id: coulomb-daily-coach-orientation -name: Daily Kaizen Coach Orientation (coulomb-loop stabilize) +id: coulomb-weekly-coach-orientation +name: Weekly Kaizen Coach Orientation (coulomb-loop operate) enabled: true owner: coulomb-loop governance: coulomb_social status: proposed trigger: type: cron - cron_expression: "0 9 * * *" + cron_expression: "0 9 * * 1" timezone: Europe/Berlin misfire_policy: skip context_sources: @@ -15,26 +15,26 @@ context_sources: query: discover_kaizen_scheduled_repos params: roster: /home/worsch/coulomb-loop/loops/kaizen-stack/roster.yaml - cadence: daily + cadence: weekly bind_to: context.scheduled_runs --- -# Daily Kaizen Coach Orientation +# Weekly Kaizen Coach Orientation -Stabilize phase per DEC-005. Cron `0 9 * * *` Europe/Berlin. +Operate phase per DEC-008. Cron `0 9 * * 1` Europe/Berlin. ```rule -id: run-daily-coach +id: run-weekly-coach for_each: context.scheduled_runs bind_as: r condition: 'context.r.agent == "coach" and context.r.enabled' action: - task_template: "Daily coach orientation: {context.r.repo}" + task_template: "Weekly coach orientation: {context.r.repo}" description: | {context.r.prepare_command} Load agents/agent-coach.md, execute coach synthesis. Session close: kaizen-agentic metrics record coach --success --time --quality <0-1> --emit-event target_repo: context.r.repo priority: medium - labels: ["kaizen", "agent-run", "coach", "coulomb-loop", "stabilize"] + labels: ["kaizen", "agent-run", "coach", "coulomb-loop", "operate"] ``` \ No newline at end of file diff --git a/activity-definitions/daily-loop-health-collector.md b/activity-definitions/weekly-loop-health-collector.md similarity index 79% rename from activity-definitions/daily-loop-health-collector.md rename to activity-definitions/weekly-loop-health-collector.md index 0ce5daf..0d20ac9 100644 --- a/activity-definitions/daily-loop-health-collector.md +++ b/activity-definitions/weekly-loop-health-collector.md @@ -1,13 +1,13 @@ --- -id: coulomb-daily-loop-health-collector -name: Daily Loop Health Collector (coulomb-loop regulator) +id: coulomb-weekly-loop-health-collector +name: Weekly Loop Health Collector (coulomb-loop regulator) enabled: false owner: coulomb-loop governance: coulomb_social status: proposed trigger: type: cron - cron_expression: "0 11 * * *" + cron_expression: "0 11 * * 1" timezone: Europe/Berlin misfire_policy: skip context_sources: @@ -26,10 +26,10 @@ context_sources: bind_to: context.pilot_metrics --- -# Daily Loop Health Collector +# Weekly Loop Health Collector LOOP-WP-0004 — aggregates first-order loop health for regulator sessions. -Daily `0 11 * * *` after first-order chains (DEC-007). +Weekly `0 11 * * 1` aligned with regulator session (DEC-008). ```instruction id: append-health-snapshot @@ -38,7 +38,7 @@ description: | loops//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. + Regenerate loops/regulator/dashboard.md from last 7d of health.jsonl files. If demotion trigger from state-machine.md fires, create urgent optimization task. ``` diff --git a/activity-definitions/daily-metrics-health-sweep.md b/activity-definitions/weekly-metrics-health-sweep.md similarity index 78% rename from activity-definitions/daily-metrics-health-sweep.md rename to activity-definitions/weekly-metrics-health-sweep.md index 257d7c3..30e0a31 100644 --- a/activity-definitions/daily-metrics-health-sweep.md +++ b/activity-definitions/weekly-metrics-health-sweep.md @@ -1,13 +1,13 @@ --- -id: coulomb-daily-metrics-health-sweep -name: Daily Metrics Health Sweep (coulomb-loop backup) +id: coulomb-weekly-metrics-health-sweep +name: Weekly Metrics Health Sweep (coulomb-loop backup) enabled: false owner: coulomb-loop governance: coulomb_social status: proposed trigger: type: cron - cron_expression: "0 6 * * *" + cron_expression: "0 6 * * 1" timezone: Europe/Berlin misfire_policy: skip context_sources: @@ -19,13 +19,13 @@ context_sources: bind_to: context.projects --- -# Daily Metrics Health Sweep (backup) +# Weekly Metrics Health Sweep (backup) -Stabilize-phase backup per LOOP-WP-0002 T07. Primary path is event-driven +Operate-phase backup per LOOP-WP-0002. Primary path is event-driven `low-success-rate-review`; enable only if the event bus is down. ```rule -id: flag-low-success-daily +id: flag-low-success-weekly for_each: context.projects bind_as: p condition: 'context.p.summary.success_rate < 0.8 and context.p.summary.execution_count >= 5' diff --git a/activity-definitions/daily-metrics-optimize.md b/activity-definitions/weekly-metrics-optimize.md similarity index 71% rename from activity-definitions/daily-metrics-optimize.md rename to activity-definitions/weekly-metrics-optimize.md index 1aed797..4a11f6c 100644 --- a/activity-definitions/daily-metrics-optimize.md +++ b/activity-definitions/weekly-metrics-optimize.md @@ -1,13 +1,13 @@ --- -id: coulomb-daily-metrics-optimize -name: Daily Kaizen Metrics Optimization (coulomb-loop stabilize) +id: coulomb-weekly-metrics-optimize +name: Weekly Kaizen Metrics Optimization (coulomb-loop operate) enabled: true owner: coulomb-loop governance: coulomb_social status: proposed trigger: type: cron - cron_expression: "0 8 * * *" + cron_expression: "0 8 * * 1" timezone: Europe/Berlin misfire_policy: skip context_sources: @@ -19,12 +19,12 @@ context_sources: bind_to: context.projects --- -# Daily Kaizen Metrics Optimization +# Weekly Kaizen Metrics Optimization -Stabilize phase per DEC-005. Pilot roster only (DEC-001 option A). Cron `0 8 * * *`. +Operate phase per DEC-008. Pilot roster only (DEC-001 option A). Cron `0 8 * * 1`. ```rule -id: run-daily-optimizer +id: run-weekly-optimizer for_each: context.projects bind_as: p condition: 'context.p.has_metrics and context.p.in_pilot_roster' @@ -35,7 +35,7 @@ action: Optional: kaizen-agentic metrics publish (when artifact-store configured) target_repo: context.p.repo priority: medium - labels: ["kaizen", "metrics", "optimizer", "coulomb-loop", "stabilize"] + labels: ["kaizen", "metrics", "optimizer", "coulomb-loop", "operate"] ``` **Supplier reference:** `kaizen-agentic/docs/integrations/activity-definitions/weekly-metrics-optimize.md` \ No newline at end of file diff --git a/activity-definitions/daily-optimization-review.md b/activity-definitions/weekly-optimization-review.md similarity index 72% rename from activity-definitions/daily-optimization-review.md rename to activity-definitions/weekly-optimization-review.md index 9ac9c7b..32002ee 100644 --- a/activity-definitions/daily-optimization-review.md +++ b/activity-definitions/weekly-optimization-review.md @@ -1,13 +1,13 @@ --- -id: coulomb-daily-optimization-review -name: Daily Kaizen Optimization Review (coulomb-loop stabilize) +id: coulomb-weekly-optimization-review +name: Weekly Kaizen Optimization Review (coulomb-loop operate) enabled: true owner: coulomb-loop governance: coulomb_social status: proposed trigger: type: cron - cron_expression: "0 10 * * *" + cron_expression: "0 10 * * 1" timezone: Europe/Berlin misfire_policy: skip context_sources: @@ -15,21 +15,21 @@ context_sources: query: discover_kaizen_scheduled_repos params: roster: /home/worsch/coulomb-loop/loops/kaizen-stack/roster.yaml - cadence: daily + cadence: weekly bind_to: context.scheduled_runs --- -# Daily Kaizen Optimization Review +# Weekly Kaizen Optimization Review -Stabilize phase per DEC-005. Cron `0 10 * * *` Europe/Berlin. +Operate phase per DEC-008. Cron `0 10 * * 1` Europe/Berlin. ```rule -id: run-daily-optimization +id: run-weekly-optimization for_each: context.scheduled_runs bind_as: r condition: 'context.r.agent == "optimization" and context.r.enabled' action: - task_template: "Daily optimization review: {context.r.repo}" + task_template: "Weekly optimization review: {context.r.repo}" description: | {context.r.prepare_command} kaizen-agentic metrics optimize @@ -38,5 +38,5 @@ action: If saturation signals fire (ADR-004), file regulator rotation recommendation. target_repo: context.r.repo priority: medium - labels: ["kaizen", "agent-run", "optimization", "coulomb-loop", "stabilize"] + labels: ["kaizen", "agent-run", "optimization", "coulomb-loop", "operate"] ``` \ No newline at end of file diff --git a/activity-definitions/daily-registry-hygiene-sweep.md b/activity-definitions/weekly-registry-hygiene-sweep.md similarity index 72% rename from activity-definitions/daily-registry-hygiene-sweep.md rename to activity-definitions/weekly-registry-hygiene-sweep.md index b3af19f..de457b0 100644 --- a/activity-definitions/daily-registry-hygiene-sweep.md +++ b/activity-definitions/weekly-registry-hygiene-sweep.md @@ -1,13 +1,13 @@ --- -id: coulomb-daily-registry-hygiene-sweep -name: Daily Registry Hygiene Sweep (coulomb-loop stabilize) +id: coulomb-weekly-registry-hygiene-sweep +name: Weekly Registry Hygiene Sweep (coulomb-loop operate) enabled: true owner: coulomb-loop governance: coulomb_social status: active trigger: type: cron - cron_expression: "0 7 * * *" + cron_expression: "0 9 * * 1" timezone: Europe/Berlin misfire_policy: skip context_sources: @@ -20,17 +20,17 @@ context_sources: query: reuse_surface_report_gaps params: roster: /home/worsch/coulomb-loop/loops/registry-hygiene/rollout.yaml - batch_size: 3 + batch_size: 2 round_robin_state: /home/worsch/coulomb-loop/loops/registry-hygiene/round-robin-state.json reuse_surface_bin: /home/worsch/reuse-surface/.venv/bin/reuse-surface runner_host: bnt-lap001 bind_to: context.gaps --- -# Daily Registry Hygiene Sweep +# Weekly Registry Hygiene Sweep -LOOP-WP-0003 — daily batch from `rollout.yaml` (custodian pilot + helix_forge). -Promoted 2026-06-18 per DEC-006. +LOOP-WP-0003 — weekly batch from `rollout.yaml` (custodian pilot + helix_forge). +Promoted 2026-06-19 per DEC-008. ```rule id: hygiene-task-per-signal @@ -48,5 +48,4 @@ action: labels: ["fleet-hygiene", "coulomb-loop", "scope-analyst"] ``` -Enabled 2026-06-18 after ACTIVITY-WP-0013 (`2078915`). Runtime params per -activity-core R2 note `36ac3eeb` (reuse_surface_bin + runner_host). \ No newline at end of file +Runtime params per activity-core R2 note `36ac3eeb` (reuse_surface_bin + runner_host). \ No newline at end of file diff --git a/docs/decisions/DEC-008-operate-phase-promotion.md b/docs/decisions/DEC-008-operate-phase-promotion.md new file mode 100644 index 0000000..27cde10 --- /dev/null +++ b/docs/decisions/DEC-008-operate-phase-promotion.md @@ -0,0 +1,66 @@ +# DEC-008 — Operate Phase Promotion (Operator Override) + +**Status:** accepted +**Date:** 2026-06-19 +**Owner:** Bernd (Coulomb operator) +**Workplan:** LOOP-WP-0005 T07 + +--- + +## Decision + +Promote all four Coulomb loops from **stabilize (daily)** to **operate (weekly)**, +invoking ADR-003 **operator override** to close the observation window early +(planned `review_at: 2026-07-02`; actual review `2026-06-19`, day 2/14). + +## Operator override rationale + +- Bootstrap sprint (LOOP-WP-0000–0004) closed with 3/3 E2E cycles on pilot roster +- Daily definitions live since 2026-06-18; event path and R2 shell resolver proven +- All recorded health snapshots: `manual_rescues == 0`, `false_positive_rate < 0.2` +- `min_daily_cycles: 14` not met (2 days observed) — override to complete + operate-phase setup and reduce task noise per ADR-003 intent +- Regulator recommends **promote** on available evidence; operator accepts + +## Per-loop promotion + +| Loop | From | To | Mechanism | +|------|------|-----|-----------| +| kaizen-improvement-stack | stabilize daily | operate weekly Mon 08–10 | metrics → coach → optimization chain | +| quality-escalation | stabilize daily | operate weekly | event `low-success-rate-review` primary; Mon 06:00 backup sweep (disabled) | +| registry-hygiene | stabilize daily 07:00 | operate weekly Mon 09:00 | batch 2, weekly domain rotation | +| loop-regulator | stabilize daily 11:00 | operate weekly Mon 11:00 | collector aligns with regulator session | + +## New cadence (Europe/Berlin) + +| Definition | Cron | Enabled | +|------------|------|---------| +| `coulomb-weekly-metrics-optimize` | `0 8 * * 1` | yes | +| `coulomb-weekly-coach-orientation` | `0 9 * * 1` | yes | +| `coulomb-weekly-optimization-review` | `0 10 * * 1` | yes | +| `coulomb-low-success-rate-review` | event | yes | +| `coulomb-weekly-metrics-health-sweep` | `0 6 * * 1` | no (backup) | +| `coulomb-weekly-registry-hygiene-sweep` | `0 9 * * 1` | yes | +| `coulomb-weekly-loop-health-collector` | `0 11 * * 1` | no (executor pending) | + +Retired `coulomb-daily-*` ids disabled on next activity-core sync. + +## Evidence + +- `loops/*/health.jsonl` — 0 manual rescues, FPR 0.0 where measured +- `loops/kaizen-stack/bootstrap-log.md` — 3/3 fleet E2E cycles +- `loops/registry-hygiene/health.jsonl` — R2 sweep live (ACTIVITY-WP-0013) +- `loops/regulator/stabilize-observation.yml` — override recorded +- `loops/*/cadence.yml` — `operate_target` drafts applied + +## Deferred (not in scope) + +- `reuse-surface` hygiene batch promotion — still gated on 7 daily stabilize + cycles per `expansion-reuse-surface.yml` (separate from cadence ramp) +- Loop health collector automation — still blocked on activity-core instruction executor + +## Related + +- ADR-003 cadence ramp policy (operator override authority) +- LOOP-WP-0005 T07 regulator review gate +- `loops/regulator/dashboard.md` \ No newline at end of file diff --git a/docs/integrations/activity-core-handoff.md b/docs/integrations/activity-core-handoff.md index 5d62ab6..b8ba7f1 100644 --- a/docs/integrations/activity-core-handoff.md +++ b/docs/integrations/activity-core-handoff.md @@ -1,7 +1,7 @@ # activity-core Handoff — coulomb-loop Bootstrap **Customer:** coulomb-loop -**Status:** ready for activity-core PR/issue +**Status:** weekly operate phase — sync required ## Prerequisites (done) @@ -17,9 +17,10 @@ - [x] `ACTIVITY_DEFINITION_DIRS` includes coulomb-loop; `sync_activity_definitions` (7 upserted) - [x] Dev stack up (docker compose, alembic, worker + API on 8010) - [x] E2E manual trigger: metrics optimize → 6 tasks (2026-06-18) -- [x] Enable daily kaizen stack (`daily-metrics-optimize`, `daily-coach-orientation`, - `daily-optimization-review`) — crons 08:00/09:00/10:00 (DEC-005) +- [x] Enable daily kaizen stack — crons 08:00/09:00/10:00 (DEC-005) - [x] Bootstrap exit 3/3 E2E cycles; definition files renamed hourly→daily (2026-06-18) +- [x] Promote to weekly operate phase (DEC-008, 2026-06-19); daily→weekly definition rename +- [ ] **Sync weekly definitions** — disable retired `coulomb-daily-*`, upsert `coulomb-weekly-*` ## Smoke commands (pilot) @@ -31,20 +32,27 @@ kaizen-agentic metrics optimize --target /home/worsch/kaizen-agentic ## Definition enable order -1. `daily-metrics-optimize` (enabled) -2. `daily-coach-orientation` (enabled) -3. `daily-optimization-review` (enabled) +1. `weekly-metrics-optimize` (enabled) +2. `weekly-coach-orientation` (enabled) +3. `weekly-optimization-review` (enabled) 4. `low-success-rate-review` (enabled — event primary) -5. `daily-metrics-health-sweep` (backup, disabled) -6. `daily-registry-hygiene-sweep` (enabled — ACTIVITY-WP-0013) -7. `daily-loop-health-collector` (after instruction executor) +5. `weekly-metrics-health-sweep` (backup, disabled) +6. `weekly-registry-hygiene-sweep` (enabled — ACTIVITY-WP-0013) +7. `weekly-loop-health-collector` (after instruction executor) ## Blocked on activity-core - Instruction executor for loop health collector -- Daily loop-health-collector — LOOP-WP-0004 done; cron `0 11 * * *` (disabled) +- Weekly loop-health-collector — cron `0 11 * * 1` (disabled) ## Closed (activity-core) - R2 `reuse_surface_report_gaps` — ACTIVITY-WP-0013 (`2078915`); sweep enabled -- R1 `event-payload` — ACTIVITY-WP-0011; low-success-rate-review live \ No newline at end of file +- R1 `event-payload` — ACTIVITY-WP-0011; low-success-rate-review live + +## Next operator action + +```bash +# After coulomb-loop merge — disable daily defs, enable weekly crons +cd ~/activity-core && make sync-activity-definitions # or equivalent sync command +``` \ No newline at end of file diff --git a/loops/kaizen-stack/cadence.yml b/loops/kaizen-stack/cadence.yml index f08f7cd..9538d5d 100644 --- a/loops/kaizen-stack/cadence.yml +++ b/loops/kaizen-stack/cadence.yml @@ -1,26 +1,14 @@ loop: kaizen-improvement-stack -phase: stabilize -cron: "0 8 * * *" +phase: operate +cron: "0 8 * * 1" chain: - metrics: "0 8 * * *" - coach: "0 9 * * *" - optimization: "0 10 * * *" -promoted_at: "2026-06-18" + metrics: "0 8 * * 1" + coach: "0 9 * * 1" + optimization: "0 10 * * 1" +promoted_at: "2026-06-19" demotion_count: 0 regulator_approval: approved -operate_target: - phase: operate - promotion_gate: LOOP-WP-0005-T07 - chain: - metrics: "0 8 * * 1" - coach: "0 9 * * 1" - optimization: "0 10 * * 1" - timezone: Europe/Berlin - criteria: - - false_positive_rate < 0.2 - - manual_rescues == 0 - - min_daily_cycles: 14 notes: > - Promoted from bootstrap hourly after 3/3 consecutive E2E cycles (2026-06-18). - Daily chain — metrics 08:00, coach 09:00, optimization 10:00 Europe/Berlin. - operate_target: weekly Mon 08:00–10:00 (draft; do not promote until T07). \ No newline at end of file + Promoted from stabilize daily to operate weekly per DEC-008 (operator override, + LOOP-WP-0005 T07). Weekly chain Mon 08:00–10:00 Europe/Berlin. + Prior stabilize promotion: 2026-06-18 (DEC-005). \ No newline at end of file diff --git a/loops/kaizen-stack/health.jsonl b/loops/kaizen-stack/health.jsonl index 8c99b58..84fa581 100644 --- a/loops/kaizen-stack/health.jsonl +++ b/loops/kaizen-stack/health.jsonl @@ -1,2 +1,3 @@ {"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"} \ No newline at end of file +{"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"} +{"timestamp":"2026-06-19T00:00:00Z","loop":"kaizen-improvement-stack","phase":"operate","manual_rescues":0,"false_positive_rate":0.0,"notes":"DEC-008 weekly promotion; LOOP-WP-0005 T07 regulator review (operator override day 2/14)"} diff --git a/loops/quality-escalation/cadence.yml b/loops/quality-escalation/cadence.yml index 9552202..8fdeeda 100644 --- a/loops/quality-escalation/cadence.yml +++ b/loops/quality-escalation/cadence.yml @@ -1,23 +1,11 @@ loop: quality-escalation -phase: stabilize -cron: "0 6 * * *" +phase: operate +cron: "0 6 * * 1" event_primary: low-success-rate-review -sweep_fallback: daily-metrics-health-sweep -stabilize_target: - event: enabled - sweep_cron: "0 6 * * *" -operate_target: - phase: operate - promotion_gate: LOOP-WP-0005-T07 - event_primary: low-success-rate-review - sweep_cron: "0 6 * * 1" - timezone: Europe/Berlin - criteria: - - false_positive_rate < 0.2 - - manual_rescues == 0 - - min_daily_cycles: 14 +sweep_fallback: weekly-metrics-health-sweep +promoted_at: "2026-06-19" regulator_approval: approved notes: >- - Event path proven 2026-06-18 (ACTIVITY-WP-0011 + NATS smoke, tasks_spawned=1). - low-success-rate-review enabled; hourly sweep retired to daily backup cron (disabled). - operate_target: event-only primary; weekly Mon 06:00 backup sweep (draft). \ No newline at end of file + Promoted from stabilize daily to operate weekly per DEC-008 (LOOP-WP-0005 T07). + Event path primary (ACTIVITY-WP-0011); weekly Mon 06:00 backup sweep (disabled). + Prior stabilize: event proven 2026-06-18. \ No newline at end of file diff --git a/loops/quality-escalation/health.jsonl b/loops/quality-escalation/health.jsonl index 42aaade..775b642 100644 --- a/loops/quality-escalation/health.jsonl +++ b/loops/quality-escalation/health.jsonl @@ -1 +1,2 @@ -{"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"} \ No newline at end of file +{"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"} +{"timestamp":"2026-06-19T00:00:00Z","loop":"quality-escalation","phase":"operate","manual_rescues":0,"false_positive_rate":0.0,"notes":"DEC-008 weekly promotion; LOOP-WP-0005 T07 regulator review (operator override day 2/14)"} diff --git a/loops/quality-escalation/thresholds.yml b/loops/quality-escalation/thresholds.yml index 0608017..38174f9 100644 --- a/loops/quality-escalation/thresholds.yml +++ b/loops/quality-escalation/thresholds.yml @@ -18,8 +18,12 @@ triggers: bootstrap: mechanism: daily_sweep_backup - definition: daily-metrics-health-sweep + definition: weekly-metrics-health-sweep stabilize: mechanism: event_primary definition: low-success-rate-review - backup_sweep_cron: "0 6 * * *" \ No newline at end of file + backup_sweep_cron: "0 6 * * *" +operate: + mechanism: event_primary + definition: low-success-rate-review + backup_sweep_cron: "0 6 * * 1" \ No newline at end of file diff --git a/loops/registry-hygiene/cadence.yml b/loops/registry-hygiene/cadence.yml index 28d0e9a..2509ef6 100644 --- a/loops/registry-hygiene/cadence.yml +++ b/loops/registry-hygiene/cadence.yml @@ -1,22 +1,12 @@ loop: registry-hygiene -phase: stabilize -cron: "0 7 * * *" -batch_size: 3 -domain_rotation: daily -promoted_at: "2026-06-18" -operate_target: - phase: operate - promotion_gate: LOOP-WP-0005-T07 - cron: "0 9 * * 1" - batch_size: 2 - domain_rotation: weekly - timezone: Europe/Berlin - criteria: - - false_positive_rate < 0.2 - - repeat_task_rate < 0.1 - - min_daily_cycles: 14 +phase: operate +cron: "0 9 * * 1" +batch_size: 2 +domain_rotation: weekly +promoted_at: "2026-06-19" 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. - operate_target: weekly Mon 09:00, 1–2 domains per run (draft). \ No newline at end of file + Promoted from stabilize daily 07:00 to operate weekly Mon 09:00 per DEC-008 + (LOOP-WP-0005 T07). Batch 2, weekly domain rotation. + Prior stabilize promotion: 2026-06-18 (DEC-006). reuse-surface batch expansion + still deferred per expansion-reuse-surface.yml. \ No newline at end of file diff --git a/loops/registry-hygiene/health.jsonl b/loops/registry-hygiene/health.jsonl index c2ea4c1..54f3372 100644 --- a/loops/registry-hygiene/health.jsonl +++ b/loops/registry-hygiene/health.jsonl @@ -1,4 +1,5 @@ {"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"} -{"timestamp":"2026-06-18T16:11:00Z","loop":"registry-hygiene","phase":"stabilize","tasks_created":4,"manual_rescues":0,"false_positive_rate":0.0,"notes":"R2 ACTIVITY-WP-0013 live; sweep enabled 744294af; resolver 4 gaps; emit 404 issue-core"} \ No newline at end of file +{"timestamp":"2026-06-18T16:11:00Z","loop":"registry-hygiene","phase":"stabilize","tasks_created":4,"manual_rescues":0,"false_positive_rate":0.0,"notes":"R2 ACTIVITY-WP-0013 live; sweep enabled 744294af; resolver 4 gaps; emit 404 issue-core"} +{"timestamp":"2026-06-19T00:00:00Z","loop":"registry-hygiene","phase":"operate","manual_rescues":0,"false_positive_rate":0.0,"notes":"DEC-008 weekly promotion; LOOP-WP-0005 T07 regulator review (operator override day 2/14)"} diff --git a/loops/regulator/cadence.yml b/loops/regulator/cadence.yml index 5073801..e3dec60 100644 --- a/loops/regulator/cadence.yml +++ b/loops/regulator/cadence.yml @@ -1,20 +1,11 @@ loop: loop-regulator -phase: stabilize -collector_cron: "0 11 * * *" +phase: operate +collector_cron: "0 11 * * 1" regulator_session_cron: "0 11 * * 1" -promoted_at: "2026-06-18" -operate_target: - phase: operate - promotion_gate: LOOP-WP-0005-T07 - collector_cron: "0 11 * * 1" - regulator_session_cron: "0 11 * * 1" - timezone: Europe/Berlin - criteria: - - all first-order loops at operate phase - - false_positive_rate < 0.2 +promoted_at: "2026-06-19" 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). - operate_target: collector aligns with weekly session Mon 11:00 (draft). \ No newline at end of file + Promoted from stabilize daily to operate weekly per DEC-008 (LOOP-WP-0005 T07). + Collector and regulator session both Mon 11:00 Europe/Berlin. + Prior stabilize promotion: 2026-06-18 (DEC-007). Emergency demotion remains + event-driven (immediate task). \ No newline at end of file diff --git a/loops/regulator/dashboard.md b/loops/regulator/dashboard.md index 1871cdd..e75a7c8 100644 --- a/loops/regulator/dashboard.md +++ b/loops/regulator/dashboard.md @@ -1,38 +1,40 @@ # Loop regulator dashboard -Regenerated 2026-06-18 (LOOP-WP-0005 T01). +Regenerated 2026-06-19 (LOOP-WP-0005 T07 / DEC-008). ## Summary | Loop | Phase | Last health | Manual rescues | Recommendation | |------|-------|-------------|----------------|----------------| -| kaizen-improvement-stack | stabilize | 2026-06-18T10:16Z | 0 | **hold** — daily chain 08:00→10:00 active | -| quality-escalation | stabilize | 2026-06-18T12:05Z | 0 | **hold** — event path live; backup sweep disabled | -| registry-hygiene | stabilize | 2026-06-18T16:11Z | 0 | **hold** — daily sweep enabled; R2 live | -| loop-regulator | stabilize | 2026-06-18T11:22Z | 0 | **hold** — daily collector 11:00 (manual until executor) | +| kaizen-improvement-stack | operate | 2026-06-19T00:00Z | 0 | **promoted** — weekly Mon 08:00–10:00 | +| quality-escalation | operate | 2026-06-19T00:00Z | 0 | **promoted** — event primary; weekly backup sweep | +| registry-hygiene | operate | 2026-06-19T00:00Z | 0 | **promoted** — weekly Mon 09:00, batch 2 | +| loop-regulator | operate | 2026-06-19T00:00Z | 0 | **promoted** — weekly Mon 11:00 collector + session | -## Stabilize observation (ADR-003) +## Observation window (ADR-003) | Field | Value | |-------|-------| | Started | 2026-06-18 | -| Review | 2026-07-02 | -| Workplan | LOOP-WP-0005 | +| Planned review | 2026-07-02 | +| Closed | 2026-06-19 (operator override, DEC-008) | +| Cycles observed | 2/14 | +| Outcome | promoted to operate (weekly) | -See `stabilize-observation.yml`. Weekly promotion **not** before review. +See `stabilize-observation.yml`. ## Active definitions (activity-core) | Definition | Cron | Enabled | |------------|------|---------| -| `coulomb-daily-metrics-optimize` | `0 8 * * *` | yes | -| `coulomb-daily-coach-orientation` | `0 9 * * *` | yes | -| `coulomb-daily-optimization-review` | `0 10 * * *` | yes | +| `coulomb-weekly-metrics-optimize` | `0 8 * * 1` | yes | +| `coulomb-weekly-coach-orientation` | `0 9 * * 1` | yes | +| `coulomb-weekly-optimization-review` | `0 10 * * 1` | yes | | `coulomb-low-success-rate-review` | event | yes | -| `coulomb-daily-metrics-health-sweep` | `0 6 * * *` | no (backup) | -| `coulomb-daily-registry-hygiene-sweep` | `0 7 * * *` | yes | +| `coulomb-weekly-metrics-health-sweep` | `0 6 * * 1` | no (backup) | +| `coulomb-weekly-registry-hygiene-sweep` | `0 9 * * 1` | yes | -Retired `coulomb-hourly-*` ids disabled on sync. +Retired `coulomb-daily-*` and `coulomb-hourly-*` ids disabled on next sync. ## Rotation queue (ADR-004) @@ -41,7 +43,7 @@ Retired `coulomb-hourly-*` ids disabled on sync. | kaizen-agentic | n/a (<14 cycles) | keep active | | the-custodian | n/a | keep active | | activity-core | n/a | keep active | -| reuse-surface | — | onboarded; hygiene batch after R2 resolver | +| reuse-surface | — | onboarded; hygiene batch after 7 daily cycles | No rotation recommended. See `rotation-runbook.md`. @@ -51,9 +53,10 @@ No rotation recommended. See `rotation-runbook.md`. |------|-------|---------| | Issue-core task sink (`/issues/`) | operator | manual trigger 4 tasks; emit 404 | | Hot-reload definitions/schedules | activity-core | `f4876517` | -| Loop health instruction executor | activity-core | `daily-loop-health-collector` | +| Loop health instruction executor | activity-core | `weekly-loop-health-collector` | +| activity-core sync weekly definitions | operator | run `sync_activity_definitions` after merge | -## Regulator cadence (DEC-007) +## Regulator cadence (DEC-008) -- Collector: daily 11:00 +- Collector: weekly Monday 11:00 - Session: weekly Monday 11:00 \ No newline at end of file diff --git a/loops/regulator/health.jsonl b/loops/regulator/health.jsonl index 92fa065..18e2624 100644 --- a/loops/regulator/health.jsonl +++ b/loops/regulator/health.jsonl @@ -1 +1,2 @@ -{"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"} \ No newline at end of file +{"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"} +{"timestamp":"2026-06-19T00:00:00Z","loop":"loop-regulator","phase":"operate","manual_rescues":0,"false_positive_rate":0.0,"notes":"DEC-008 weekly promotion; LOOP-WP-0005 T07 regulator review (operator override day 2/14)"} diff --git a/loops/regulator/stabilize-observation.yml b/loops/regulator/stabilize-observation.yml index 512b056..f666e5c 100644 --- a/loops/regulator/stabilize-observation.yml +++ b/loops/regulator/stabilize-observation.yml @@ -1,6 +1,7 @@ version: "1" started_at: "2026-06-18" review_at: "2026-07-02" +closed_at: "2026-06-19" duration_days: 14 policy: ADR-003 loops: @@ -12,6 +13,15 @@ exit_criteria: false_positive_rate_max: 0.2 manual_rescues_max: 0 min_daily_cycles: 14 +override: + applied_at: "2026-06-19" + authority: operator + decision: DEC-008 + cycles_observed: 2 + rationale: > + Bootstrap evidence strong (3/3 E2E, 0 manual rescues, FPR < 0.2). + Operator override per ADR-003 to complete operate-phase setup. +outcome: promoted_operate notes: > - Observation window opened after bootstrap sprint (LOOP-WP-0000–0004) and daily - definition rename (9b19956). Weekly promotion requires regulator session LOOP-WP-0005-T07. \ No newline at end of file + Observation window opened after bootstrap sprint (LOOP-WP-0000–0004). + Closed early via DEC-008; weekly promotion applied in loops/*/cadence.yml. \ No newline at end of file diff --git a/workplans/LOOP-WP-0005-operate-phase-observation.md b/workplans/LOOP-WP-0005-operate-phase-observation.md index 06401e5..34c0b1b 100644 --- a/workplans/LOOP-WP-0005-operate-phase-observation.md +++ b/workplans/LOOP-WP-0005-operate-phase-observation.md @@ -4,12 +4,12 @@ type: workplan title: "Operate phase observation and fleet expansion prep" domain: coulomb_social repo: coulomb-loop -status: active +status: done owner: coulomb-loop topic_slug: coulomb_social supplier: kaizen-agentic created: "2026-06-18" -updated: "2026-06-18" +updated: "2026-06-19" depends_on: - LOOP-WP-0001 - LOOP-WP-0002 @@ -41,7 +41,7 @@ tasks: title: Handoff reuse_surface_report_gaps resolver to activity-core state_hub_task_id: "92f93ac2-8d01-4094-b701-aa991e4b4caf" - id: T07 - status: todo + status: done title: Regulator review at observation window end (weekly promotion decision) state_hub_task_id: "890416df-45db-437c-ba9a-355ac464ad0e" state_hub_workstream_id: "620731c9-ed7b-478d-97a2-5e251c2c36ff" @@ -49,7 +49,7 @@ state_hub_workstream_id: "620731c9-ed7b-478d-97a2-5e251c2c36ff" # LOOP-WP-0005 — Operate Phase Observation & Fleet Expansion Prep -**Status:** active +**Status:** done **Owner:** coulomb-loop **Depends on:** LOOP-WP-0000–0004 (bootstrap sprint complete) @@ -152,16 +152,19 @@ criteria for `coulomb-daily-registry-hygiene-sweep`. ```task id: LOOP-WP-0005-T07 -status: todo +status: done priority: low state_hub_task_id: "890416df-45db-437c-ba9a-355ac464ad0e" ``` -On or after `review_at`, run regulator session; file DEC-008 if weekly promotion approved. +Completed 2026-06-19: operator override per ADR-003 (day 2/14). Regulator session +evidence reviewed; all loops promoted to operate weekly. DEC-008 filed; +`loops/*/cadence.yml` updated; activity definitions renamed `coulomb-daily-*` → +`coulomb-weekly-*`. activity-core sync pending. ## Definition of done -- Dashboard and SCOPE reflect stabilize reality -- Observation window documented with review date -- reuse-surface expansion path defined -- Weekly promotion decision deferred until T07 \ No newline at end of file +- [x] Dashboard and SCOPE reflect stabilize reality +- [x] Observation window documented with review date +- [x] reuse-surface expansion path defined +- [x] Weekly promotion decision (DEC-008, operator override) \ No newline at end of file