generated from coulomb/repo-seed
Compare commits
25 Commits
6948f10968
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| f3d1d98e42 | |||
| 2f94943d97 | |||
| 35052500b1 | |||
| 3225cf9dd6 | |||
| 245b7fcbfe | |||
| 27e05552a2 | |||
| 78b82dd17b | |||
| 3eb553f508 | |||
| 7f9cc62cc6 | |||
| f0dd557662 | |||
| 6bd1c12044 | |||
| 497dd898b6 | |||
| 7704845b16 | |||
| d74d3b5447 | |||
| 9b19956af6 | |||
| fa0eb147c3 | |||
| 5fa0b59cce | |||
| 7cb79aff62 | |||
| d9b398999a | |||
| a8207ea408 | |||
| 169a71f3e3 | |||
| f678473892 | |||
| b3d8a9f8e4 | |||
| 7cfe4dd52f | |||
| 25f31c3851 |
@@ -1,25 +1,8 @@
|
|||||||
## Architecture
|
## Architecture
|
||||||
|
|
||||||
`coulomb-loop` is a **markdown-first engagement layer** — no application runtime.
|
<!-- TODO: Describe the key design decisions and component structure.
|
||||||
|
Key modules, data flows, external integrations, state machines, etc. -->
|
||||||
|
|
||||||
```
|
## Quick Reference
|
||||||
activity-core (cron/event)
|
|
||||||
→ state-hub roster + coulomb-loop rosters
|
|
||||||
→ tasks on target repos
|
|
||||||
→ kaizen-agentic schedule prepare / metrics CLI
|
|
||||||
→ coding-agent sessions (supplier agents)
|
|
||||||
```
|
|
||||||
|
|
||||||
### Layers
|
`~/state-hub/mcp_server/TOOLS.md` — MCP tool reference
|
||||||
|
|
||||||
| Layer | Repo | Role |
|
|
||||||
|-------|------|------|
|
|
||||||
| Customer contracts | coulomb-loop | Workplans, ADRs, ActivityDefinition copies, `loops/` |
|
|
||||||
| Supplier IP | kaizen-agentic | Agents, CLI, ADR-002–006 |
|
|
||||||
| Scheduler | activity-core | Temporal schedules, resolvers |
|
|
||||||
| Roster | state-hub | Repo list, workstreams, events |
|
|
||||||
| Execution state | target repos | `.kaizen/schedule.yml`, memory, metrics |
|
|
||||||
|
|
||||||
### Four loops
|
|
||||||
|
|
||||||
See `INTENT.md` and LOOP-WP-0001–0004. LOOP-WP-0004 regulates cadence (ADR-003).
|
|
||||||
|
|||||||
50
.claude/rules/credential-routing.md
Normal file
50
.claude/rules/credential-routing.md
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
# Credential and access routing
|
||||||
|
|
||||||
|
**Audience:** Codex, Claude Code, Grok, and custodian agents that call **llm-connect**
|
||||||
|
for inference. Run this check **before** requesting secrets, API keys, SSH access,
|
||||||
|
login tokens, or database passwords — in any repo, not only `ops-warden`.
|
||||||
|
|
||||||
|
ops-warden **issues SSH certificates only** (`warden sign`, `cert_command`). Every
|
||||||
|
other credential need belongs to another subsystem. **Do not** message
|
||||||
|
`ops-warden` on State Hub expecting a secret value; the reply is a pointer, not a key.
|
||||||
|
|
||||||
|
### Lookup (do this first)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
warden route find "<describe your need>" --json
|
||||||
|
warden route show <catalog-id> --json
|
||||||
|
```
|
||||||
|
|
||||||
|
Requires the `warden` CLI from `~/ops-warden` (`uv tool install .` or `uv run warden`).
|
||||||
|
|
||||||
|
| Agent runtime | How to orient |
|
||||||
|
| --- | --- |
|
||||||
|
| **Codex / Grok** (shell, HTTP State Hub) | `warden route` commands above; inbox `to_agent=coulomb-loop` is for coordination, not secret vending |
|
||||||
|
| **Claude Code** (MCP when available) | `get_domain_summary("custodian")` for workstreams; **still** use `warden route` for credential ownership |
|
||||||
|
| **llm-connect** (inference service) | Never put secret retrieval in prompts; route custody to OpenBao/operator paths surfaced by `warden route` |
|
||||||
|
|
||||||
|
### Quick routing table
|
||||||
|
|
||||||
|
| I need… | Owner | ops-warden executes? |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| SSH cert (`adm`/`agt`/`atm`) | ops-warden | **Yes** — `warden sign` |
|
||||||
|
| API key, DB password, provider token | OpenBao (`railiance-platform`) | No — route only |
|
||||||
|
| Login / OIDC / MFA | key-cape / Keycloak | No — route only |
|
||||||
|
| Authorization decision | flex-auth | No — route only |
|
||||||
|
| activity-core → issue-core emission | activity-core + issue-core | No — `warden route show activity-core-issue-sink` |
|
||||||
|
| SSH tunnel | ops-bridge (+ `cert_command` from warden) | No — route only |
|
||||||
|
|
||||||
|
### Anti-patterns (do not do these)
|
||||||
|
|
||||||
|
- `POST /messages/` to `ops-warden` asking for `ISSUE_CORE_API_KEY`, `OPENROUTER_API_KEY`, etc.
|
||||||
|
- Inventing `warden secret`, `warden login`, `warden bao`, `warden tunnel` — they do not exist
|
||||||
|
- Pasting secrets into Git, State Hub, workplans, logs, or chat
|
||||||
|
|
||||||
|
### Other capabilities (reuse-surface)
|
||||||
|
|
||||||
|
Non-credential capabilities are usually discovered through **reuse-surface** federation
|
||||||
|
(`reuse-surface` registry / `capability.*` indexes). Credential routing is inlined in
|
||||||
|
every repo's agent instructions because it is high-frequency, high-risk, and easy to
|
||||||
|
get wrong.
|
||||||
|
|
||||||
|
**Canon:** `~/ops-warden/wiki/CredentialRouting.md` · catalog `~/ops-warden/registry/routing/catalog.yaml`
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
## First Session Protocol
|
## First Session Protocol
|
||||||
|
|
||||||
Triggered when `get_domain_summary("coulomb_social")` shows **no workstreams**.
|
Triggered when `get_domain_summary("communication")` shows **no workstreams**.
|
||||||
The project is registered but work has not yet been structured.
|
The project is registered but work has not yet been structured.
|
||||||
|
|
||||||
**Step 1 — Read, don't write**
|
**Step 1 — Read, don't write**
|
||||||
- `~/the-custodian/canon/projects/coulomb_social/project_charter_v0.1.md` — purpose, scope
|
- `~/the-custodian/canon/projects/communication/project_charter_v0.1.md` — purpose, scope
|
||||||
- `~/the-custodian/canon/projects/coulomb_social/roadmap_v0.1.md` — planned phases
|
- `~/the-custodian/canon/projects/communication/roadmap_v0.1.md` — planned phases
|
||||||
- Scan repo root: README, directory structure, existing code or docs
|
- Scan repo root: README, directory structure, existing code or docs
|
||||||
|
|
||||||
**Step 2 — Survey in-progress work**
|
**Step 2 — Survey in-progress work**
|
||||||
@@ -17,7 +17,7 @@ roadmap phase. **Wait for approval before creating.**
|
|||||||
|
|
||||||
**Step 4 — Create workplan file first, then DB record (ADR-001)**
|
**Step 4 — Create workplan file first, then DB record (ADR-001)**
|
||||||
```
|
```
|
||||||
workplans/COULOMB-WP-NNNN-<slug>.md ← write this first
|
workplans/LOOP-WP-NNNN-<slug>.md ← write this first
|
||||||
```
|
```
|
||||||
Then register in the hub:
|
Then register in the hub:
|
||||||
```
|
```
|
||||||
@@ -28,7 +28,7 @@ create_task(workstream_id="<id>", title="...", priority="high|medium|low")
|
|||||||
**Step 5 — Record the setup**
|
**Step 5 — Record the setup**
|
||||||
```
|
```
|
||||||
add_progress_event(
|
add_progress_event(
|
||||||
summary="First session: structured coulomb_social into N workstreams, M tasks",
|
summary="First session: structured communication into N workstreams, M tasks",
|
||||||
event_type="milestone",
|
event_type="milestone",
|
||||||
topic_id="36c7421b-c537-4723-bf75-42a3ebc6a1dc",
|
topic_id="36c7421b-c537-4723-bf75-42a3ebc6a1dc",
|
||||||
detail={"workstreams": [...], "tasks_created": M}
|
detail={"workstreams": [...], "tasks_created": M}
|
||||||
|
|||||||
@@ -1,11 +1,8 @@
|
|||||||
## Repo boundary
|
## Repo boundary
|
||||||
|
|
||||||
This repo owns **coulomb-loop engagement operations** only. It does not own:
|
This repo owns **coulomb-loop** only. It does not own:
|
||||||
|
|
||||||
- Kaizen agent definitions → `kaizen-agentic`
|
<!-- TODO: List what belongs in adjacent repos, e.g.:
|
||||||
- activity-core resolvers and Temporal workers → `activity-core`
|
- SSH key management → railiance-infra/
|
||||||
- State-hub API/MCP → `state-hub` / `the-custodian`
|
- State hub code → state-hub/
|
||||||
- reuse-surface CLI and federation hub → `reuse-surface`
|
-->
|
||||||
- Target repo `.kaizen/` state → each fleet repo checkout
|
|
||||||
|
|
||||||
Cross-repo handoffs are documented in loop workplans and `docs/adr/ADR-002-customer-supplier-boundary.md`.
|
|
||||||
|
|||||||
@@ -1,15 +1,5 @@
|
|||||||
## Repo Identity
|
**Purpose:** Coulomb fleet self-improvement loop engagement — customer repo for scheduled kaizen-agentic supplier operations.
|
||||||
|
|
||||||
**Purpose:** coulomb-loop — Coulomb customer engagement repo for fleet self-improvement loops operated with kaizen-agentic as supplier.
|
**Domain:** communication
|
||||||
|
|
||||||
**Domain:** coulomb_social
|
|
||||||
**Repo slug:** coulomb-loop
|
**Repo slug:** coulomb-loop
|
||||||
**Topic ID:** 36c7421b-c537-4723-bf75-42a3ebc6a1dc
|
**Topic ID:** 36c7421b-c537-4723-bf75-42a3ebc6a1dc
|
||||||
|
|
||||||
**Supplier:** `kaizen-agentic` (agents, CLI, playbook — not merged into this repo)
|
|
||||||
|
|
||||||
**Custodian integration:** Registered in state-hub. Workplans use `LOOP-WP` prefix (ADR-001). Sync after workplan edits:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd ~/state-hub && make fix-consistency REPO=coulomb-loop
|
|
||||||
```
|
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
## Session Protocol
|
## Session Protocol
|
||||||
|
|
||||||
State Hub: http://127.0.0.1:8000
|
Dev Hub (State Hub API): http://127.0.0.1:8000
|
||||||
|
MCP server name in `~/.claude.json`: `dev-hub`
|
||||||
|
|
||||||
**Step 1 — Orient**
|
**Step 1 — Orient**
|
||||||
|
|
||||||
@@ -10,7 +11,7 @@ cat .custodian-brief.md
|
|||||||
```
|
```
|
||||||
Then call the MCP tool for richer cross-domain context when MCP tools are exposed:
|
Then call the MCP tool for richer cross-domain context when MCP tools are exposed:
|
||||||
```
|
```
|
||||||
get_domain_summary("coulomb_social")
|
get_domain_summary("communication")
|
||||||
```
|
```
|
||||||
If MCP tools are unavailable in the current agent session, use the REST API:
|
If MCP tools are unavailable in the current agent session, use the REST API:
|
||||||
```bash
|
```bash
|
||||||
@@ -43,7 +44,7 @@ For each file with `status: ready`, `active`, or `blocked`, note pending
|
|||||||
|
|
||||||
**Step 4 — Present brief**
|
**Step 4 — Present brief**
|
||||||
|
|
||||||
1. **Active workstreams** for `coulomb_social` — title, task counts, blocking decisions
|
1. **Active workstreams** for `communication` — title, task counts, blocking decisions
|
||||||
2. **Pending tasks** from `workplans/` + any `[repo:coulomb-loop]` hub tasks
|
2. **Pending tasks** from `workplans/` + any `[repo:coulomb-loop]` hub tasks
|
||||||
3. **Goal guidance** — if `goal_guidance` in summary:
|
3. **Goal guidance** — if `goal_guidance` in summary:
|
||||||
- `needs_workplan`: surface as top action — *"Repo goal '{title}' has no workplan yet"*
|
- `needs_workplan`: surface as top action — *"Repo goal '{title}' has no workplan yet"*
|
||||||
|
|||||||
@@ -1,28 +1,19 @@
|
|||||||
## Stack and Commands
|
## Stack
|
||||||
|
|
||||||
**Language:** Markdown / YAML coordination artefacts
|
<!-- TODO: Fill in language, frameworks, and key dependencies -->
|
||||||
**Package manager:** none
|
- **Language:**
|
||||||
**Test runner:** none
|
- **Key deps:**
|
||||||
|
|
||||||
### Essential commands
|
## Dev Commands
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Sync workplans to state-hub after edits
|
# TODO: Fill in the standard commands for this repo
|
||||||
cd ~/state-hub && make fix-consistency REPO=coulomb-loop
|
|
||||||
|
|
||||||
# Validate reuse-surface registry (when entries exist)
|
# Install dependencies
|
||||||
reuse-surface validate
|
|
||||||
|
|
||||||
# Supplier CLI on target repos (not this repo)
|
# Run tests
|
||||||
kaizen-agentic schedule validate --target /path/to/target-repo
|
|
||||||
kaizen-agentic schedule prepare coach --target /path/to/target-repo
|
# Lint / type check
|
||||||
|
|
||||||
|
# Build / package (if applicable)
|
||||||
```
|
```
|
||||||
|
|
||||||
### Session orientation
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# MCP when available
|
|
||||||
get_domain_summary("coulomb_social")
|
|
||||||
```
|
|
||||||
|
|
||||||
Fallback: `.custodian-brief.md`
|
|
||||||
@@ -1,17 +1,40 @@
|
|||||||
## Workplan Convention (ADR-001)
|
## Workplan Convention (ADR-001)
|
||||||
|
|
||||||
File location: `workplans/LOOP-WP-NNNN-<slug>.md`
|
File location: `workplans/LOOP-WP-NNNN-<slug>.md`
|
||||||
ID prefix: `LOOP-WP` (see `docs/adr/ADR-001-workplan-prefix.md`)
|
ID prefix: `LOOP-WP-`
|
||||||
|
|
||||||
Work items originate as files in this repo **before** being registered in the hub.
|
Work items originate as files in this repo **before** being registered in the hub.
|
||||||
|
|
||||||
Ecosystem todos from supplier or other agents arrive as `[repo:coulomb-loop]` hub tasks.
|
Canonical workplan/workstream frontmatter statuses are:
|
||||||
|
`proposed`, `ready`, `active`, `blocked`, `backlog`, `finished`, `archived`.
|
||||||
|
Use `proposed` for a newly drafted plan, `ready` after review against current
|
||||||
|
repo state, and `finished` when implementation is complete. `stalled` and
|
||||||
|
`needs_review` are derived health labels, not stored statuses.
|
||||||
|
|
||||||
After workplan file updates:
|
Closed workplans may be moved to `workplans/archived/` with a completion-date
|
||||||
|
prefix: `YYMMDD-LOOP-WP-NNNN-<slug>.md`. The frontmatter id remains
|
||||||
|
unchanged; the prefix is only for quick visual reference.
|
||||||
|
|
||||||
```bash
|
Small opportunistic tasks discovered during another session use **Ad Hoc Tasks**:
|
||||||
cd ~/state-hub && make fix-consistency REPO=coulomb-loop
|
`workplans/ADHOC-YYYY-MM-DD.md`, workstream slug `adhoc-YYYY-MM-DD`, and task ids
|
||||||
|
`ADHOC-YYYY-MM-DD-T01`, `T02`, etc. Use adhocs only for low-risk work completed
|
||||||
|
directly. Promote anything requiring analysis, design, approval, dependencies, or
|
||||||
|
multiple planned phases into a normal workplan.
|
||||||
|
|
||||||
|
Ecosystem todos from other agents arrive as `[repo:coulomb-loop]` hub tasks —
|
||||||
|
visible at session start. Pick one up by creating the workplan file, then registering
|
||||||
|
the workstream.
|
||||||
|
|
||||||
|
Task blocks use this shape:
|
||||||
|
|
||||||
|
```task
|
||||||
|
id: LOOP-WP-NNNN-T01
|
||||||
|
status: wait | todo | progress | done | cancel
|
||||||
|
priority: high | medium | low
|
||||||
|
state_hub_task_id: "<uuid>" # written by fix-consistency — do not edit
|
||||||
```
|
```
|
||||||
|
|
||||||
Customer loop workplans: LOOP-WP-0000 (bootstrap), LOOP-WP-0001–0004 (loops).
|
Status progression is `todo` → `progress` → `done`; use `wait` for waiting or
|
||||||
Supplier mirror: `kaizen-agentic` KAIZEN-WP-0008.
|
blocked work and `cancel` for stopped work.
|
||||||
|
|
||||||
|
<!-- Ralph Loop rules and HEUREKA sequence: ~/.claude/CLAUDE.md — do not duplicate here -->
|
||||||
|
|||||||
@@ -1,66 +1,18 @@
|
|||||||
<!-- custodian-brief: generated by fix-consistency — do not edit manually -->
|
<!-- custodian-brief: generated by fix-consistency — do not edit manually -->
|
||||||
# Custodian Brief — coulomb-loop
|
# Custodian Brief — coulomb-loop
|
||||||
|
|
||||||
**Domain:** coulomb_social
|
**Domain:** communication
|
||||||
**Last synced:** 2026-06-18 05:46 UTC
|
**Last synced:** 2026-06-22 21:20 UTC
|
||||||
**State Hub:** http://127.0.0.1:8000 *(adjust if running on a remote machine)*
|
**State Hub:** http://127.0.0.1:8000 *(adjust if running on a remote machine)*
|
||||||
|
|
||||||
## Active Workstreams
|
## Active Workstreams
|
||||||
|
|
||||||
### Engagement bootstrap (registration, assessment, governance)
|
*(none — repo may need first-session setup)*
|
||||||
Progress: 7/8 done | workstream_id: `0df6df54-4313-4c2d-93f2-dc6844fe47ec`
|
|
||||||
|
|
||||||
**Open tasks:**
|
|
||||||
- · reuse-surface capability entry `54f5e683`
|
|
||||||
|
|
||||||
### Reactive Quality Escalation (signal-driven improvement)
|
|
||||||
Progress: 0/7 done | workstream_id: `d4d3b624-dad3-4e1d-9db3-e84548d133de`
|
|
||||||
|
|
||||||
**Open tasks:**
|
|
||||||
- · Define escalation signals and thresholds `f6f549e5`
|
|
||||||
- · Draft low-success-rate ActivityDefinition `a19c2ade`
|
|
||||||
- · Specify event emitter contract `6dbdb335`
|
|
||||||
- · Hourly metrics sweep fallback `604a9515`
|
|
||||||
- · Wire activity-core and smoke test `a5d8a6e1`
|
|
||||||
- · test-maintenance escalation for CI-degraded repos `206d33c2`
|
|
||||||
- · Promote sweep to daily `fa4205f4`
|
|
||||||
|
|
||||||
### Loop Regulator (second-order improvement)
|
|
||||||
Progress: 0/9 done | workstream_id: `08970648-dbd8-48f6-9b3a-72f196013089`
|
|
||||||
|
|
||||||
**Open tasks:**
|
|
||||||
- · Define loop health model and state machine `d3a9aa4c`
|
|
||||||
- · Create loops directory structure `3ae8f36f`
|
|
||||||
- · Hourly loop-health-collector ActivityDefinition `734c76b6`
|
|
||||||
- · optimization-agent regulator session template `e417226b`
|
|
||||||
- · Hourly bootstrap collection `9d4dc665`
|
|
||||||
- · First cadence promotion decision `e8fb9e66`
|
|
||||||
- · Supplier customer-repo playbook `9600bd31`
|
|
||||||
- … and 2 more open tasks
|
|
||||||
|
|
||||||
### Registry & Orientation Hygiene (fleet legibility)
|
|
||||||
Progress: 0/7 done | workstream_id: `f3a4b60a-7bc2-400d-bf8a-e7209a9e45c4`
|
|
||||||
|
|
||||||
**Open tasks:**
|
|
||||||
- · Define hygiene signals and rollout order `cacc914e`
|
|
||||||
- · Hourly registry gap sweep ActivityDefinition `7c6b15cd`
|
|
||||||
- · scope-analyst orientation template `e8eb2700`
|
|
||||||
- · Integrate SBOM staleness with hygiene roster `09cec748`
|
|
||||||
- · Hourly bootstrap on custodian pilot slice `76029879`
|
|
||||||
- · Expand domain batch `f6e5a9d5`
|
|
||||||
- · Promote cadence `5b6bb667`
|
|
||||||
|
|
||||||
### Kaizen Improvement Stack (coach + metrics + optimization)
|
|
||||||
Progress: 6/8 done | workstream_id: `90a05147-7b95-4ce7-96bf-39cdb487b557`
|
|
||||||
|
|
||||||
**Open tasks:**
|
|
||||||
- · Three-repo pilot with metrics `e60fa833`
|
|
||||||
- · Promote to daily cadence `7c77ec4f`
|
|
||||||
|
|
||||||
---
|
---
|
||||||
## MCP Orientation (when available)
|
## MCP Orientation (when available)
|
||||||
|
|
||||||
If the state-hub MCP server is reachable, call:
|
If the state-hub MCP server is reachable, call:
|
||||||
`get_domain_summary("coulomb_social")`
|
`get_domain_summary("communication")`
|
||||||
This provides richer cross-domain context.
|
This provides richer cross-domain context.
|
||||||
If the MCP call fails, use this file as your orientation source.
|
If the MCP call fails, use this file as your orientation source.
|
||||||
|
|||||||
17
.repo-classification.yaml
Normal file
17
.repo-classification.yaml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
repo_classification:
|
||||||
|
standard: Repo Classification Standard
|
||||||
|
version: '1.0'
|
||||||
|
classified_at: '2026-06-22'
|
||||||
|
classified_by: agent
|
||||||
|
category: experimental
|
||||||
|
domain: communication
|
||||||
|
secondary_domains: []
|
||||||
|
capability_tags:
|
||||||
|
- marketplace
|
||||||
|
- collaboration
|
||||||
|
business_stake:
|
||||||
|
- product
|
||||||
|
- sales
|
||||||
|
business_mechanics:
|
||||||
|
- coordination
|
||||||
|
- operation
|
||||||
219
AGENTS.md
Normal file
219
AGENTS.md
Normal file
@@ -0,0 +1,219 @@
|
|||||||
|
# coulomb-loop — Agent Instructions
|
||||||
|
|
||||||
|
## Repo Identity
|
||||||
|
|
||||||
|
**Purpose:** Coulomb fleet self-improvement loop engagement — customer repo for scheduled kaizen-agentic supplier operations.
|
||||||
|
|
||||||
|
**Domain:** communication
|
||||||
|
**Repo slug:** coulomb-loop
|
||||||
|
**Topic ID:** `36c7421b-c537-4723-bf75-42a3ebc6a1dc`
|
||||||
|
**Workplan prefix:** `LOOP-WP-`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## State Hub Integration
|
||||||
|
|
||||||
|
The Custodian State Hub tracks work across all domains. Interact via HTTP REST —
|
||||||
|
there is no MCP server for Codex agents.
|
||||||
|
|
||||||
|
| Context | URL |
|
||||||
|
|---------|-----|
|
||||||
|
| Local workstation | `http://127.0.0.1:8000` |
|
||||||
|
| Remote via tunnel | `http://127.0.0.1:18000` |
|
||||||
|
|
||||||
|
### Orient at session start
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Offline brief — works without hub connection
|
||||||
|
cat .custodian-brief.md
|
||||||
|
|
||||||
|
# Active workstreams for this domain
|
||||||
|
curl -s "http://127.0.0.1:8000/workstreams/?topic_id=36c7421b-c537-4723-bf75-42a3ebc6a1dc&status=active" \
|
||||||
|
| python3 -m json.tool
|
||||||
|
|
||||||
|
# Check inbox
|
||||||
|
curl -s "http://127.0.0.1:8000/messages/?to_agent=coulomb-loop&unread_only=true" \
|
||||||
|
| python3 -m json.tool
|
||||||
|
```
|
||||||
|
|
||||||
|
Mark a message read:
|
||||||
|
```bash
|
||||||
|
curl -s -X PATCH "http://127.0.0.1:8000/messages/<id>/read" \
|
||||||
|
-H "Content-Type: application/json" -d '{}'
|
||||||
|
```
|
||||||
|
|
||||||
|
### Log progress (required at session close)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
curl -s -X POST http://127.0.0.1:8000/progress/ \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d '{
|
||||||
|
"summary": "what was done",
|
||||||
|
"event_type": "note",
|
||||||
|
"author": "codex",
|
||||||
|
"workstream_id": "<uuid>",
|
||||||
|
"task_id": "<uuid>"
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
|
||||||
|
Omit `workstream_id` / `task_id` when not applicable.
|
||||||
|
|
||||||
|
### Update task status
|
||||||
|
|
||||||
|
```bash
|
||||||
|
curl -s -X PATCH "http://127.0.0.1:8000/tasks/<task_id>" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d '{"status": "progress"}'
|
||||||
|
# values: wait | todo | progress | done | cancel
|
||||||
|
```
|
||||||
|
|
||||||
|
### Flag a task for human review
|
||||||
|
|
||||||
|
```bash
|
||||||
|
curl -s -X PATCH "http://127.0.0.1:8000/tasks/<task_id>" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d '{"needs_human": true, "intervention_note": "reason"}'
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Session Protocol
|
||||||
|
|
||||||
|
**Start:**
|
||||||
|
1. `cat .custodian-brief.md` — domain goal and open workstreams (offline-safe)
|
||||||
|
2. Check inbox: `GET /messages/?to_agent=coulomb-loop&unread_only=true`; mark read
|
||||||
|
3. Scan workplans: `ls workplans/` — note `status: ready`, `active`, or `blocked` files and open tasks
|
||||||
|
4. Check human-needed tasks: `GET /tasks/?needs_human=true`
|
||||||
|
|
||||||
|
**During work:**
|
||||||
|
- Update task statuses in workplan files as tasks progress
|
||||||
|
- Record significant decisions via `POST /decisions/`
|
||||||
|
|
||||||
|
**Close:**
|
||||||
|
1. Update workplan file task statuses to reflect progress
|
||||||
|
2. Log: `POST /progress/` with a summary of what changed
|
||||||
|
3. Note for the custodian operator: after workplan file changes, run from
|
||||||
|
`~/state-hub`:
|
||||||
|
```bash
|
||||||
|
make fix-consistency REPO=coulomb-loop
|
||||||
|
```
|
||||||
|
This syncs task status from files into the hub DB.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Credential and access routing
|
||||||
|
|
||||||
|
**Audience:** Codex, Claude Code, Grok, and custodian agents that call **llm-connect**
|
||||||
|
for inference. Run this check **before** requesting secrets, API keys, SSH access,
|
||||||
|
login tokens, or database passwords — in any repo, not only `ops-warden`.
|
||||||
|
|
||||||
|
ops-warden **issues SSH certificates only** (`warden sign`, `cert_command`). Every
|
||||||
|
other credential need belongs to another subsystem. **Do not** message
|
||||||
|
`ops-warden` on State Hub expecting a secret value; the reply is a pointer, not a key.
|
||||||
|
|
||||||
|
### Lookup (do this first)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
warden route find "<describe your need>" --json
|
||||||
|
warden route show <catalog-id> --json
|
||||||
|
```
|
||||||
|
|
||||||
|
Requires the `warden` CLI from `~/ops-warden` (`uv tool install .` or `uv run warden`).
|
||||||
|
|
||||||
|
| Agent runtime | How to orient |
|
||||||
|
| --- | --- |
|
||||||
|
| **Codex / Grok** (shell, HTTP State Hub) | `warden route` commands above; inbox `to_agent=coulomb-loop` is for coordination, not secret vending |
|
||||||
|
| **Claude Code** (MCP when available) | `get_domain_summary("custodian")` for workstreams; **still** use `warden route` for credential ownership |
|
||||||
|
| **llm-connect** (inference service) | Never put secret retrieval in prompts; route custody to OpenBao/operator paths surfaced by `warden route` |
|
||||||
|
|
||||||
|
### Quick routing table
|
||||||
|
|
||||||
|
| I need… | Owner | ops-warden executes? |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| SSH cert (`adm`/`agt`/`atm`) | ops-warden | **Yes** — `warden sign` |
|
||||||
|
| API key, DB password, provider token | OpenBao (`railiance-platform`) | No — route only |
|
||||||
|
| Login / OIDC / MFA | key-cape / Keycloak | No — route only |
|
||||||
|
| Authorization decision | flex-auth | No — route only |
|
||||||
|
| activity-core → issue-core emission | activity-core + issue-core | No — `warden route show activity-core-issue-sink` |
|
||||||
|
| SSH tunnel | ops-bridge (+ `cert_command` from warden) | No — route only |
|
||||||
|
|
||||||
|
### Anti-patterns (do not do these)
|
||||||
|
|
||||||
|
- `POST /messages/` to `ops-warden` asking for `ISSUE_CORE_API_KEY`, `OPENROUTER_API_KEY`, etc.
|
||||||
|
- Inventing `warden secret`, `warden login`, `warden bao`, `warden tunnel` — they do not exist
|
||||||
|
- Pasting secrets into Git, State Hub, workplans, logs, or chat
|
||||||
|
|
||||||
|
### Other capabilities (reuse-surface)
|
||||||
|
|
||||||
|
Non-credential capabilities are usually discovered through **reuse-surface** federation
|
||||||
|
(`reuse-surface` registry / `capability.*` indexes). Credential routing is inlined in
|
||||||
|
every repo's agent instructions because it is high-frequency, high-risk, and easy to
|
||||||
|
get wrong.
|
||||||
|
|
||||||
|
**Canon:** `~/ops-warden/wiki/CredentialRouting.md` · catalog `~/ops-warden/registry/routing/catalog.yaml`
|
||||||
|
|
||||||
|
<!-- REPO-AGENTS-EXTENSIONS -->
|
||||||
|
<!-- Append repo-specific agent instructions below this marker.
|
||||||
|
The state-hub template sync preserves content after this line. -->
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Workplan Convention (ADR-001)
|
||||||
|
|
||||||
|
Work items originate as files in this repo — not in the hub. The hub is a
|
||||||
|
read/cache/index layer that rebuilds from files.
|
||||||
|
|
||||||
|
**File location:** `workplans/COULOMB-WP-NNNN-<slug>.md`
|
||||||
|
|
||||||
|
**Archived location:** finished workplans may move to
|
||||||
|
`workplans/archived/YYMMDD-COULOMB-WP-NNNN-<slug>.md`. The `YYMMDD` prefix is
|
||||||
|
the completion/archive date; the frontmatter `id` does not change.
|
||||||
|
|
||||||
|
**Ad Hoc Tasks:** small opportunistic fixes discovered during a session use
|
||||||
|
`workplans/ADHOC-YYYY-MM-DD.md` with task ids `ADHOC-YYYY-MM-DD-T01`, etc. Use
|
||||||
|
this only for low-risk work completed directly; create a normal workplan for
|
||||||
|
anything needing analysis, design, approval, dependencies, or multiple phases.
|
||||||
|
|
||||||
|
**Frontmatter:**
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
---
|
||||||
|
id: COULOMB-WP-NNNN
|
||||||
|
type: workplan
|
||||||
|
title: "..."
|
||||||
|
domain: communication
|
||||||
|
repo: coulomb-loop
|
||||||
|
status: proposed | ready | active | blocked | backlog | finished | archived
|
||||||
|
owner: codex
|
||||||
|
topic_slug: ...
|
||||||
|
created: "YYYY-MM-DD"
|
||||||
|
updated: "YYYY-MM-DD"
|
||||||
|
state_hub_workstream_id: "<uuid>" # written by fix-consistency — do not edit
|
||||||
|
---
|
||||||
|
```
|
||||||
|
|
||||||
|
Use `proposed` for a new draft, `ready` after review against current repo
|
||||||
|
state, and `finished` after implementation. `stalled` and `needs_review` are
|
||||||
|
derived health labels, not frontmatter statuses.
|
||||||
|
|
||||||
|
**Task block format** (one per `##` section):
|
||||||
|
|
||||||
|
```
|
||||||
|
## Task Title
|
||||||
|
|
||||||
|
` ` `task
|
||||||
|
id: COULOMB-WP-NNNN-T01
|
||||||
|
status: wait | todo | progress | done | cancel
|
||||||
|
priority: high | medium | low
|
||||||
|
state_hub_task_id: "<uuid>" # written by fix-consistency — do not edit
|
||||||
|
` ` `
|
||||||
|
|
||||||
|
Task description text.
|
||||||
|
```
|
||||||
|
|
||||||
|
Status progression: `todo` → `progress` → `done`; use `wait` for waiting/blocked work and `cancel` for stopped work.
|
||||||
|
|
||||||
|
To create a new workplan:
|
||||||
|
1. Write the file following the format above
|
||||||
|
2. Notify the custodian operator to run `make fix-consistency REPO=coulomb-loop`
|
||||||
|
(or send a message to the hub agent via `POST /messages/`)
|
||||||
@@ -8,4 +8,5 @@
|
|||||||
@.claude/rules/stack-and-commands.md
|
@.claude/rules/stack-and-commands.md
|
||||||
@.claude/rules/architecture.md
|
@.claude/rules/architecture.md
|
||||||
@.claude/rules/repo-boundary.md
|
@.claude/rules/repo-boundary.md
|
||||||
|
@.claude/rules/credential-routing.md
|
||||||
@.claude/rules/agents.md
|
@.claude/rules/agents.md
|
||||||
|
|||||||
8
SCOPE.md
8
SCOPE.md
@@ -41,10 +41,10 @@ with project-scoped memory and metrics.
|
|||||||
|
|
||||||
## Current State
|
## Current State
|
||||||
|
|
||||||
- Status: active (bootstrap)
|
- Status: active (operate — weekly cadence)
|
||||||
- Implementation: planning artefacts + hub registration complete
|
- Implementation: four loops operational on custodian pilot roster (3 repos)
|
||||||
- Stability: evolving (hourly cadence bootstrap pending)
|
- Stability: observation window closed 2026-06-19 via DEC-008 operator override (LOOP-WP-0005 done)
|
||||||
- Usage: internal engagement
|
- Usage: internal engagement; weekly Mon crons live; activity-core synced 2026-06-19
|
||||||
|
|
||||||
## How It Fits
|
## How It Fits
|
||||||
|
|
||||||
|
|||||||
46
activity-definitions/hourly-ci-health-escalation.md
Normal file
46
activity-definitions/hourly-ci-health-escalation.md
Normal 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`.
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
id: coulomb-low-success-rate-review
|
id: coulomb-low-success-rate-review
|
||||||
name: Low Agent Success Rate Review (event-driven)
|
name: Low Agent Success Rate Review (event-driven)
|
||||||
enabled: false
|
enabled: true
|
||||||
owner: coulomb-loop
|
owner: coulomb-loop
|
||||||
governance: coulomb_social
|
governance: coulomb_social
|
||||||
status: proposed
|
status: proposed
|
||||||
@@ -15,8 +15,8 @@ context_sources:
|
|||||||
|
|
||||||
# Low Agent Success Rate Review
|
# Low Agent Success Rate Review
|
||||||
|
|
||||||
Activates after KAIZEN-WP-0008 T03 (`metrics record --emit-event`). Until then,
|
Enabled 2026-06-18 after activity-core event-payload resolver (ACTIVITY-WP-0011).
|
||||||
use `hourly-metrics-health-sweep.md`.
|
Fallback: `weekly-metrics-health-sweep.md` at `0 6 * * 1`.
|
||||||
|
|
||||||
```rule
|
```rule
|
||||||
id: flag-low-success-rate
|
id: flag-low-success-rate
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
---
|
---
|
||||||
id: coulomb-hourly-coach-orientation
|
id: coulomb-weekly-coach-orientation
|
||||||
name: Hourly Kaizen Coach Orientation (coulomb-loop bootstrap)
|
name: Weekly Kaizen Coach Orientation (coulomb-loop operate)
|
||||||
enabled: true
|
enabled: true
|
||||||
owner: coulomb-loop
|
owner: coulomb-loop
|
||||||
governance: coulomb_social
|
governance: coulomb_social
|
||||||
status: proposed
|
status: proposed
|
||||||
trigger:
|
trigger:
|
||||||
type: cron
|
type: cron
|
||||||
cron_expression: "15 * * * *"
|
cron_expression: "0 9 * * 1"
|
||||||
timezone: Europe/Berlin
|
timezone: Europe/Berlin
|
||||||
misfire_policy: skip
|
misfire_policy: skip
|
||||||
context_sources:
|
context_sources:
|
||||||
@@ -15,24 +15,26 @@ context_sources:
|
|||||||
query: discover_kaizen_scheduled_repos
|
query: discover_kaizen_scheduled_repos
|
||||||
params:
|
params:
|
||||||
roster: /home/worsch/coulomb-loop/loops/kaizen-stack/roster.yaml
|
roster: /home/worsch/coulomb-loop/loops/kaizen-stack/roster.yaml
|
||||||
cadence: daily
|
cadence: weekly
|
||||||
bind_to: context.scheduled_runs
|
bind_to: context.scheduled_runs
|
||||||
---
|
---
|
||||||
|
|
||||||
# Hourly Kaizen Coach Orientation (bootstrap)
|
# Weekly Kaizen Coach Orientation
|
||||||
|
|
||||||
|
Operate phase per DEC-008. Cron `0 9 * * 1` Europe/Berlin.
|
||||||
|
|
||||||
```rule
|
```rule
|
||||||
id: run-hourly-coach
|
id: run-weekly-coach
|
||||||
for_each: context.scheduled_runs
|
for_each: context.scheduled_runs
|
||||||
bind_as: r
|
bind_as: r
|
||||||
condition: 'context.r.agent == "coach" and context.r.enabled'
|
condition: 'context.r.agent == "coach" and context.r.enabled'
|
||||||
action:
|
action:
|
||||||
task_template: "Hourly coach orientation: {context.r.repo}"
|
task_template: "Weekly coach orientation: {context.r.repo}"
|
||||||
description: |
|
description: |
|
||||||
{context.r.prepare_command}
|
{context.r.prepare_command}
|
||||||
Load agents/agent-coach.md, execute coach synthesis.
|
Load agents/agent-coach.md, execute coach synthesis.
|
||||||
Session close: kaizen-agentic metrics record coach --success --time <s> --quality <0-1>
|
Session close: kaizen-agentic metrics record coach --success --time <s> --quality <0-1> --emit-event
|
||||||
target_repo: context.r.repo
|
target_repo: context.r.repo
|
||||||
priority: medium
|
priority: medium
|
||||||
labels: ["kaizen", "agent-run", "coach", "coulomb-loop", "bootstrap"]
|
labels: ["kaizen", "agent-run", "coach", "coulomb-loop", "operate"]
|
||||||
```
|
```
|
||||||
46
activity-definitions/weekly-loop-health-collector.md
Normal file
46
activity-definitions/weekly-loop-health-collector.md
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
---
|
||||||
|
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 * * 1"
|
||||||
|
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
|
||||||
|
---
|
||||||
|
|
||||||
|
# Weekly Loop Health Collector
|
||||||
|
|
||||||
|
LOOP-WP-0004 — aggregates first-order loop health for regulator sessions.
|
||||||
|
Weekly `0 11 * * 1` aligned with regulator session (DEC-008).
|
||||||
|
|
||||||
|
```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 7d 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`.
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
---
|
---
|
||||||
id: coulomb-hourly-metrics-health-sweep
|
id: coulomb-weekly-metrics-health-sweep
|
||||||
name: Hourly Metrics Health Sweep (coulomb-loop bootstrap)
|
name: Weekly Metrics Health Sweep (coulomb-loop backup)
|
||||||
enabled: false
|
enabled: false
|
||||||
owner: coulomb-loop
|
owner: coulomb-loop
|
||||||
governance: coulomb_social
|
governance: coulomb_social
|
||||||
status: proposed
|
status: proposed
|
||||||
trigger:
|
trigger:
|
||||||
type: cron
|
type: cron
|
||||||
cron_expression: "45 * * * *"
|
cron_expression: "0 6 * * 1"
|
||||||
timezone: Europe/Berlin
|
timezone: Europe/Berlin
|
||||||
misfire_policy: skip
|
misfire_policy: skip
|
||||||
context_sources:
|
context_sources:
|
||||||
@@ -19,12 +19,13 @@ context_sources:
|
|||||||
bind_to: context.projects
|
bind_to: context.projects
|
||||||
---
|
---
|
||||||
|
|
||||||
# Hourly Metrics Health Sweep
|
# Weekly Metrics Health Sweep (backup)
|
||||||
|
|
||||||
Bootstrap fallback per DEC-002 option A until `kaizen.metrics.recorded` events ship.
|
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
|
```rule
|
||||||
id: flag-low-success-hourly
|
id: flag-low-success-weekly
|
||||||
for_each: context.projects
|
for_each: context.projects
|
||||||
bind_as: p
|
bind_as: p
|
||||||
condition: 'context.p.summary.success_rate < 0.8 and context.p.summary.execution_count >= 5'
|
condition: 'context.p.summary.success_rate < 0.8 and context.p.summary.execution_count >= 5'
|
||||||
@@ -37,5 +38,5 @@ action:
|
|||||||
Load agents/agent-optimization.md for review.
|
Load agents/agent-optimization.md for review.
|
||||||
target_repo: context.p.repo
|
target_repo: context.p.repo
|
||||||
priority: high
|
priority: high
|
||||||
labels: ["kaizen", "quality-escalation", "coulomb-loop", "bootstrap"]
|
labels: ["kaizen", "quality-escalation", "coulomb-loop", "backup"]
|
||||||
```
|
```
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
---
|
---
|
||||||
id: coulomb-hourly-metrics-optimize
|
id: coulomb-weekly-metrics-optimize
|
||||||
name: Hourly Kaizen Metrics Optimization (coulomb-loop bootstrap)
|
name: Weekly Kaizen Metrics Optimization (coulomb-loop operate)
|
||||||
enabled: true
|
enabled: true
|
||||||
owner: coulomb-loop
|
owner: coulomb-loop
|
||||||
governance: coulomb_social
|
governance: coulomb_social
|
||||||
status: proposed
|
status: proposed
|
||||||
trigger:
|
trigger:
|
||||||
type: cron
|
type: cron
|
||||||
cron_expression: "0 * * * *"
|
cron_expression: "0 8 * * 1"
|
||||||
timezone: Europe/Berlin
|
timezone: Europe/Berlin
|
||||||
misfire_policy: skip
|
misfire_policy: skip
|
||||||
context_sources:
|
context_sources:
|
||||||
@@ -19,13 +19,12 @@ context_sources:
|
|||||||
bind_to: context.projects
|
bind_to: context.projects
|
||||||
---
|
---
|
||||||
|
|
||||||
# Hourly Kaizen Metrics Optimization (bootstrap)
|
# Weekly Kaizen Metrics Optimization
|
||||||
|
|
||||||
Runs hourly during coulomb-loop bootstrap phase. Limited to pilot roster
|
Operate phase per DEC-008. Pilot roster only (DEC-001 option A). Cron `0 8 * * 1`.
|
||||||
(DEC-001 option A). Promote to daily when LOOP-WP-0004 regulator approves.
|
|
||||||
|
|
||||||
```rule
|
```rule
|
||||||
id: run-hourly-optimizer
|
id: run-weekly-optimizer
|
||||||
for_each: context.projects
|
for_each: context.projects
|
||||||
bind_as: p
|
bind_as: p
|
||||||
condition: 'context.p.has_metrics and context.p.in_pilot_roster'
|
condition: 'context.p.has_metrics and context.p.in_pilot_roster'
|
||||||
@@ -36,7 +35,7 @@ action:
|
|||||||
Optional: kaizen-agentic metrics publish (when artifact-store configured)
|
Optional: kaizen-agentic metrics publish (when artifact-store configured)
|
||||||
target_repo: context.p.repo
|
target_repo: context.p.repo
|
||||||
priority: medium
|
priority: medium
|
||||||
labels: ["kaizen", "metrics", "optimizer", "coulomb-loop", "bootstrap"]
|
labels: ["kaizen", "metrics", "optimizer", "coulomb-loop", "operate"]
|
||||||
```
|
```
|
||||||
|
|
||||||
**Supplier reference:** `kaizen-agentic/docs/integrations/activity-definitions/weekly-metrics-optimize.md`
|
**Supplier reference:** `kaizen-agentic/docs/integrations/activity-definitions/weekly-metrics-optimize.md`
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
---
|
---
|
||||||
id: coulomb-hourly-optimization-review
|
id: coulomb-weekly-optimization-review
|
||||||
name: Hourly Kaizen Optimization Review (coulomb-loop bootstrap)
|
name: Weekly Kaizen Optimization Review (coulomb-loop operate)
|
||||||
enabled: true
|
enabled: true
|
||||||
owner: coulomb-loop
|
owner: coulomb-loop
|
||||||
governance: coulomb_social
|
governance: coulomb_social
|
||||||
status: proposed
|
status: proposed
|
||||||
trigger:
|
trigger:
|
||||||
type: cron
|
type: cron
|
||||||
cron_expression: "30 * * * *"
|
cron_expression: "0 10 * * 1"
|
||||||
timezone: Europe/Berlin
|
timezone: Europe/Berlin
|
||||||
misfire_policy: skip
|
misfire_policy: skip
|
||||||
context_sources:
|
context_sources:
|
||||||
@@ -15,19 +15,21 @@ context_sources:
|
|||||||
query: discover_kaizen_scheduled_repos
|
query: discover_kaizen_scheduled_repos
|
||||||
params:
|
params:
|
||||||
roster: /home/worsch/coulomb-loop/loops/kaizen-stack/roster.yaml
|
roster: /home/worsch/coulomb-loop/loops/kaizen-stack/roster.yaml
|
||||||
cadence: daily
|
cadence: weekly
|
||||||
bind_to: context.scheduled_runs
|
bind_to: context.scheduled_runs
|
||||||
---
|
---
|
||||||
|
|
||||||
# Hourly Kaizen Optimization Review (bootstrap)
|
# Weekly Kaizen Optimization Review
|
||||||
|
|
||||||
|
Operate phase per DEC-008. Cron `0 10 * * 1` Europe/Berlin.
|
||||||
|
|
||||||
```rule
|
```rule
|
||||||
id: run-hourly-optimization
|
id: run-weekly-optimization
|
||||||
for_each: context.scheduled_runs
|
for_each: context.scheduled_runs
|
||||||
bind_as: r
|
bind_as: r
|
||||||
condition: 'context.r.agent == "optimization" and context.r.enabled'
|
condition: 'context.r.agent == "optimization" and context.r.enabled'
|
||||||
action:
|
action:
|
||||||
task_template: "Hourly optimization review: {context.r.repo}"
|
task_template: "Weekly optimization review: {context.r.repo}"
|
||||||
description: |
|
description: |
|
||||||
{context.r.prepare_command}
|
{context.r.prepare_command}
|
||||||
kaizen-agentic metrics optimize
|
kaizen-agentic metrics optimize
|
||||||
@@ -36,5 +38,5 @@ action:
|
|||||||
If saturation signals fire (ADR-004), file regulator rotation recommendation.
|
If saturation signals fire (ADR-004), file regulator rotation recommendation.
|
||||||
target_repo: context.r.repo
|
target_repo: context.r.repo
|
||||||
priority: medium
|
priority: medium
|
||||||
labels: ["kaizen", "agent-run", "optimization", "coulomb-loop", "bootstrap"]
|
labels: ["kaizen", "agent-run", "optimization", "coulomb-loop", "operate"]
|
||||||
```
|
```
|
||||||
51
activity-definitions/weekly-registry-hygiene-sweep.md
Normal file
51
activity-definitions/weekly-registry-hygiene-sweep.md
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
---
|
||||||
|
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 9 * * 1"
|
||||||
|
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: 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
|
||||||
|
---
|
||||||
|
|
||||||
|
# Weekly Registry Hygiene Sweep
|
||||||
|
|
||||||
|
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
|
||||||
|
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"]
|
||||||
|
```
|
||||||
|
|
||||||
|
Runtime params per activity-core R2 note `36ac3eeb` (reuse_surface_bin + runner_host).
|
||||||
34
docs/decisions/DEC-005-kaizen-stack-cadence-promotion.md
Normal file
34
docs/decisions/DEC-005-kaizen-stack-cadence-promotion.md
Normal 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`
|
||||||
31
docs/decisions/DEC-006-registry-hygiene-cadence-promotion.md
Normal file
31
docs/decisions/DEC-006-registry-hygiene-cadence-promotion.md
Normal 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` | 1–2 domains/week after 2 weeks daily |
|
||||||
|
|
||||||
|
## Related
|
||||||
|
|
||||||
|
- `loops/registry-hygiene/cadence.yml`
|
||||||
|
- `activity-definitions/hourly-registry-hygiene-sweep.md` (cron updated to daily)
|
||||||
28
docs/decisions/DEC-007-regulator-cadence-promotion.md
Normal file
28
docs/decisions/DEC-007-regulator-cadence-promotion.md
Normal 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`
|
||||||
66
docs/decisions/DEC-008-operate-phase-promotion.md
Normal file
66
docs/decisions/DEC-008-operate-phase-promotion.md
Normal file
@@ -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`
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
# activity-core Handoff — coulomb-loop Bootstrap
|
# activity-core Handoff — coulomb-loop Bootstrap
|
||||||
|
|
||||||
**Customer:** coulomb-loop
|
**Customer:** coulomb-loop
|
||||||
**Status:** ready for activity-core PR/issue
|
**Status:** weekly operate phase — synced 2026-06-19
|
||||||
|
|
||||||
## Prerequisites (done)
|
## Prerequisites (done)
|
||||||
|
|
||||||
@@ -16,10 +16,11 @@
|
|||||||
- [x] Dry-run: 6 `scheduled_runs` for pilot roster (2026-06-18)
|
- [x] Dry-run: 6 `scheduled_runs` for pilot roster (2026-06-18)
|
||||||
- [x] `ACTIVITY_DEFINITION_DIRS` includes coulomb-loop; `sync_activity_definitions` (7 upserted)
|
- [x] `ACTIVITY_DEFINITION_DIRS` includes coulomb-loop; `sync_activity_definitions` (7 upserted)
|
||||||
- [x] Dev stack up (docker compose, alembic, worker + API on 8010)
|
- [x] Dev stack up (docker compose, alembic, worker + API on 8010)
|
||||||
- [x] E2E manual trigger: `hourly-metrics-optimize` → 6 tasks (2026-06-18)
|
- [x] E2E manual trigger: metrics optimize → 6 tasks (2026-06-18)
|
||||||
- [x] Enable `hourly-metrics-optimize` (hourly cron active)
|
- [x] Enable daily kaizen stack — crons 08:00/09:00/10:00 (DEC-005)
|
||||||
- [x] Enable `hourly-coach-orientation` → 3 coach tasks (2026-06-18)
|
- [x] Bootstrap exit 3/3 E2E cycles; definition files renamed hourly→daily (2026-06-18)
|
||||||
- [x] Enable `hourly-optimization-review` → 3 optimization tasks (2026-06-18)
|
- [x] Promote to weekly operate phase (DEC-008, 2026-06-19); daily→weekly definition rename
|
||||||
|
- [x] **Sync weekly definitions** — retired `coulomb-daily-*` disabled; `coulomb-weekly-*` upserted; Temporal schedules synced (2026-06-19)
|
||||||
|
|
||||||
## Smoke commands (pilot)
|
## Smoke commands (pilot)
|
||||||
|
|
||||||
@@ -31,8 +32,35 @@ kaizen-agentic metrics optimize --target /home/worsch/kaizen-agentic
|
|||||||
|
|
||||||
## Definition enable order
|
## Definition enable order
|
||||||
|
|
||||||
1. `hourly-metrics-optimize`
|
1. `weekly-metrics-optimize` (enabled)
|
||||||
2. `hourly-coach-orientation`
|
2. `weekly-coach-orientation` (enabled)
|
||||||
3. `hourly-optimization-review`
|
3. `weekly-optimization-review` (enabled)
|
||||||
4. `hourly-metrics-health-sweep`
|
4. `low-success-rate-review` (enabled — event primary)
|
||||||
5. `low-success-rate-review` (after KAIZEN-WP-0008 T03)
|
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
|
||||||
|
- 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
|
||||||
|
|
||||||
|
## Sync commands (reference)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd ~/activity-core
|
||||||
|
ACTCORE_DB_URL=postgresql+asyncpg://actcore:actcore@localhost:5433/actcore \
|
||||||
|
ACTIVITY_DEFINITION_DIRS=/home/worsch/coulomb-loop \
|
||||||
|
make sync-activity-definitions
|
||||||
|
ACTCORE_DB_URL=postgresql+asyncpg://actcore:actcore@localhost:5433/actcore \
|
||||||
|
TEMPORAL_HOST=localhost:7233 \
|
||||||
|
uv run python -m activity_core.sync_schedules
|
||||||
|
```
|
||||||
|
|
||||||
|
Future promotions: `kaizen-agentic schedule promote --engagement-repo ...` (see
|
||||||
|
`loops/regulator/session-template.md`).
|
||||||
@@ -21,6 +21,14 @@
|
|||||||
| 2026-06-18T06:10 | coulomb-loop | enable hourly-coach-orientation | pass | 3 coach tasks spawned (1 per pilot repo) |
|
| 2026-06-18T06:10 | coulomb-loop | enable hourly-coach-orientation | pass | 3 coach tasks spawned (1 per pilot repo) |
|
||||||
| 2026-06-18T06:12 | coulomb-loop | enable hourly-optimization-review | pass | 3 optimization tasks spawned (1 per pilot repo) |
|
| 2026-06-18T06:12 | coulomb-loop | enable hourly-optimization-review | pass | 3 optimization tasks spawned (1 per pilot repo) |
|
||||||
|
|
||||||
**Bootstrap exit (single repo):** manual smoke pass; 1/3 consecutive hourly E2E cycles.
|
| 2026-06-18T09:00 | activity-core | cron hourly-metrics-optimize | pass | 6 tasks (scheduled) |
|
||||||
**Bootstrap exit (fleet pilot):** 1/3 consecutive hourly cycles across 3 repos.
|
| 2026-06-18T09:15 | activity-core | cron hourly-coach-orientation | pass | 3 tasks |
|
||||||
**Next:** 2 more hourly cron cycles; then LOOP-WP-0004 regulator for daily promotion.
|
| 2026-06-18T14:30 | coulomb-loop | rename hourly→daily definition files | pass | DEC-005; ids `coulomb-daily-*` synced |
|
||||||
|
| 2026-06-18T09:30 | activity-core | cron hourly-optimization-review | pass | 3 tasks |
|
||||||
|
| 2026-06-18T10:05 | activity-core | E2E trigger cycle 2 (manual) | pass | metrics 6, coach 3, optimization 3 |
|
||||||
|
| 2026-06-18T10:06 | activity-core | E2E trigger cycle 3 (manual) | pass | metrics 6, coach 3, optimization 3 |
|
||||||
|
| 2026-06-18T10:06 | all pilots | metrics record coach+optimization | pass | cycle 2+3 session-close samples |
|
||||||
|
|
||||||
|
**Bootstrap exit (single repo):** pass (smoke + cron).
|
||||||
|
**Bootstrap exit (fleet pilot):** pass — 3/3 consecutive hourly E2E cycles across 3 repos.
|
||||||
|
**Promotion:** 2026-06-18 — regulator approved daily cadence (LOOP-WP-0001 T08); see `cadence.yml`.
|
||||||
@@ -1,7 +1,14 @@
|
|||||||
loop: kaizen-improvement-stack
|
loop: kaizen-improvement-stack
|
||||||
phase: bootstrap
|
phase: operate
|
||||||
cron: "0 * * * *"
|
cron: "0 8 * * 1"
|
||||||
promoted_at: null
|
chain:
|
||||||
|
metrics: "0 8 * * 1"
|
||||||
|
coach: "0 9 * * 1"
|
||||||
|
optimization: "0 10 * * 1"
|
||||||
|
promoted_at: "2026-06-19"
|
||||||
demotion_count: 0
|
demotion_count: 0
|
||||||
regulator_approval: pending
|
regulator_approval: approved
|
||||||
notes: Hourly chain — metrics :00, coach :15, optimization :30 (per-repo schedule.yml)
|
notes: >
|
||||||
|
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).
|
||||||
3
loops/kaizen-stack/health.jsonl
Normal file
3
loops/kaizen-stack/health.jsonl
Normal file
@@ -0,0 +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"}
|
||||||
|
{"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)"}
|
||||||
@@ -1,34 +1,39 @@
|
|||||||
version: "1"
|
version: '1'
|
||||||
loop: kaizen-improvement-stack
|
loop: kaizen-improvement-stack
|
||||||
decision: DEC-001 option A (2026-06-18)
|
decision: DEC-001 option A (2026-06-18)
|
||||||
phase: bootstrap
|
phase: operate
|
||||||
|
|
||||||
# Repos currently receiving scheduled optimization/coach runs
|
|
||||||
active:
|
active:
|
||||||
- slug: kaizen-agentic
|
- slug: kaizen-agentic
|
||||||
root: /home/worsch/kaizen-agentic
|
root: /home/worsch/kaizen-agentic
|
||||||
agents: [coach, optimization]
|
agents:
|
||||||
status: active
|
- coach
|
||||||
rationale: supplier dogfood
|
- optimization
|
||||||
- slug: the-custodian
|
status: active
|
||||||
root: /home/worsch/the-custodian
|
rationale: supplier dogfood
|
||||||
agents: [coach, optimization]
|
- slug: the-custodian
|
||||||
status: active
|
root: /home/worsch/the-custodian
|
||||||
rationale: state-hub coordination operator
|
agents:
|
||||||
- slug: activity-core
|
- coach
|
||||||
root: /home/worsch/activity-core
|
- optimization
|
||||||
agents: [coach, optimization]
|
status: active
|
||||||
status: active
|
rationale: state-hub coordination operator
|
||||||
rationale: scheduler owner
|
- slug: activity-core
|
||||||
|
root: /home/worsch/activity-core
|
||||||
# Ordered candidates after pilot — promoted by regulator (ADR-004)
|
agents:
|
||||||
|
- coach
|
||||||
|
- optimization
|
||||||
|
status: active
|
||||||
|
rationale: scheduler owner
|
||||||
expansion_queue:
|
expansion_queue:
|
||||||
- slug: reuse-surface
|
- slug: reuse-surface
|
||||||
agents: [coach, optimization, scope-analyst]
|
agents:
|
||||||
domain: helix_forge
|
- coach
|
||||||
- slug: vergabe-teilnahme
|
- optimization
|
||||||
agents: [coach, scope-analyst]
|
- scope-analyst
|
||||||
domain: coulomb_social
|
domain: helix_forge
|
||||||
|
- slug: vergabe-teilnahme
|
||||||
# Repos paused after diminishing-returns detection (ADR-004)
|
agents:
|
||||||
|
- coach
|
||||||
|
- scope-analyst
|
||||||
|
domain: coulomb_social
|
||||||
saturated: []
|
saturated: []
|
||||||
@@ -1,8 +1,9 @@
|
|||||||
# Supplier Notes (kaizen-agentic friction log)
|
# Supplier Notes (kaizen-agentic friction log)
|
||||||
|
|
||||||
| Date | Observation | Suggested supplier fix |
|
| Date | Observation | Status |
|
||||||
|------|-------------|------------------------|
|
|------|-------------|--------|
|
||||||
| 2026-06-18 | `schedule init` defaults weekly; bootstrap needs manual cron patch | KAIZEN-WP-0008 `schedule init --engagement --bootstrap-cadence hourly` |
|
| 2026-06-18 | `schedule init` defaults weekly; bootstrap needs manual cron patch | **Shipped** — `schedule init --engagement --bootstrap-cadence hourly` |
|
||||||
| 2026-06-18 | `metrics optimize` runs with 0 records (OK) but message could link to engagement | Document bootstrap expectation in playbook |
|
| 2026-06-18 | `metrics optimize` with 0 records during bootstrap | **Documented** — playbook v1; expected until ≥10 records |
|
||||||
| 2026-06-18 | No `--emit-event` yet for LOOP-WP-0002 | KAIZEN-WP-0008 T03 |
|
| 2026-06-18 | No `--emit-event` for LOOP-WP-0002 | **Shipped** — `metrics record --emit-event` |
|
||||||
| 2026-06-18 | Rotation signals need aggregator CLI | KAIZEN-WP-0008 ADR-004 follow-on `metrics rotation-signals` |
|
| 2026-06-18 | Rotation signals need aggregator CLI | **Open** — `metrics rotation-signals` follow-on (ADR-004) |
|
||||||
|
| 2026-06-18 | activity-core `event-payload` resolver missing | **Open** — see kaizen `activity-core-handoff-engagement.md` R1 |
|
||||||
@@ -1,4 +1,11 @@
|
|||||||
loop: quality-escalation
|
loop: quality-escalation
|
||||||
phase: bootstrap
|
phase: operate
|
||||||
cron: "45 * * * *"
|
cron: "0 6 * * 1"
|
||||||
regulator_approval: pending
|
event_primary: low-success-rate-review
|
||||||
|
sweep_fallback: weekly-metrics-health-sweep
|
||||||
|
promoted_at: "2026-06-19"
|
||||||
|
regulator_approval: approved
|
||||||
|
notes: >-
|
||||||
|
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.
|
||||||
60
loops/quality-escalation/event-payload.md
Normal file
60
loops/quality-escalation/event-payload.md
Normal 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`
|
||||||
2
loops/quality-escalation/health.jsonl
Normal file
2
loops/quality-escalation/health.jsonl
Normal file
@@ -0,0 +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"}
|
||||||
|
{"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)"}
|
||||||
@@ -17,9 +17,13 @@ triggers:
|
|||||||
priority: medium
|
priority: medium
|
||||||
|
|
||||||
bootstrap:
|
bootstrap:
|
||||||
mechanism: hourly_sweep
|
mechanism: daily_sweep_backup
|
||||||
definition: hourly-metrics-health-sweep
|
definition: weekly-metrics-health-sweep
|
||||||
stabilize:
|
stabilize:
|
||||||
mechanism: event_primary
|
mechanism: event_primary
|
||||||
definition: low-success-rate-review
|
definition: low-success-rate-review
|
||||||
backup_sweep_cron: "0 6 * * *"
|
backup_sweep_cron: "0 6 * * *"
|
||||||
|
operate:
|
||||||
|
mechanism: event_primary
|
||||||
|
definition: low-success-rate-review
|
||||||
|
backup_sweep_cron: "0 6 * * 1"
|
||||||
17
loops/registry-hygiene/bootstrap-log.md
Normal file
17
loops/registry-hygiene/bootstrap-log.md
Normal 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).
|
||||||
12
loops/registry-hygiene/cadence.yml
Normal file
12
loops/registry-hygiene/cadence.yml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
loop: registry-hygiene
|
||||||
|
phase: operate
|
||||||
|
cron: "0 9 * * 1"
|
||||||
|
batch_size: 2
|
||||||
|
domain_rotation: weekly
|
||||||
|
promoted_at: "2026-06-19"
|
||||||
|
regulator_approval: approved
|
||||||
|
notes: >
|
||||||
|
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.
|
||||||
35
loops/registry-hygiene/expansion-reuse-surface.yml
Normal file
35
loops/registry-hygiene/expansion-reuse-surface.yml
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
version: "1"
|
||||||
|
repo: reuse-surface
|
||||||
|
domain: helix_forge
|
||||||
|
phase: expansion_candidate
|
||||||
|
workplan: LOOP-WP-0005-T04
|
||||||
|
surveyed_at: "2026-06-18"
|
||||||
|
onboarded_at: "2026-06-18"
|
||||||
|
|
||||||
|
readiness:
|
||||||
|
rollout_included: true
|
||||||
|
rollout_domain: helix_forge
|
||||||
|
kaizen_schedule: true
|
||||||
|
kaizen_metrics: true
|
||||||
|
scope_analyst_agent: true
|
||||||
|
report_gaps_cli: true
|
||||||
|
publish_check: pass
|
||||||
|
|
||||||
|
onboarding:
|
||||||
|
- kaizen-agentic schedule init --engagement coulomb-loop --target /home/worsch/reuse-surface --agents coach,optimization,scope-analyst --bootstrap-cadence daily
|
||||||
|
- kaizen-agentic agents install scope-analyst --target /home/worsch/reuse-surface
|
||||||
|
- reuse-surface validate
|
||||||
|
- reuse-surface establish --publish-check
|
||||||
|
|
||||||
|
blockers:
|
||||||
|
- issue-core task sink for hygiene task emission (operator)
|
||||||
|
|
||||||
|
promotion:
|
||||||
|
trigger: shell resolver shipped + 7 daily stabilize cycles on custodian batch
|
||||||
|
action: reuse-surface enters active hygiene batch (helix_forge domain rotation)
|
||||||
|
kaizen_roster: loops/kaizen-stack/roster.yaml expansion_queue
|
||||||
|
|
||||||
|
notes: >
|
||||||
|
reuse-surface is in rollout.yaml helix_forge active domain. No .kaizen/ marker
|
||||||
|
yet — hygiene sweep can target via state-hub host_paths before schedule init.
|
||||||
|
report gaps CLI operational (51 empty scaffolds on federation roster).
|
||||||
5
loops/registry-hygiene/health.jsonl
Normal file
5
loops/registry-hygiene/health.jsonl
Normal file
@@ -0,0 +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"}
|
||||||
|
{"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)"}
|
||||||
38
loops/registry-hygiene/hygiene-roster.yaml
Normal file
38
loops/registry-hygiene/hygiene-roster.yaml
Normal 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
|
||||||
26
loops/registry-hygiene/rollout.yaml
Normal file
26
loops/registry-hygiene/rollout.yaml
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
version: "1"
|
||||||
|
batch_size_hourly: 3
|
||||||
|
batch_size_daily: 4
|
||||||
|
|
||||||
|
domains:
|
||||||
|
- slug: custodian
|
||||||
|
phase: active
|
||||||
|
repos:
|
||||||
|
- kaizen-agentic
|
||||||
|
- the-custodian
|
||||||
|
- activity-core
|
||||||
|
- slug: helix_forge
|
||||||
|
phase: active
|
||||||
|
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 T06 complete; stack domain next after daily stabilize
|
||||||
9
loops/registry-hygiene/round-robin-state.json
Normal file
9
loops/registry-hygiene/round-robin-state.json
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"cursor": 2,
|
||||||
|
"last_batch": [
|
||||||
|
"reuse-surface",
|
||||||
|
"kaizen-agentic",
|
||||||
|
"the-custodian"
|
||||||
|
],
|
||||||
|
"updated_at": "2026-06-18T16:11:20.117486+00:00"
|
||||||
|
}
|
||||||
27
loops/registry-hygiene/session-template.md
Normal file
27
loops/registry-hygiene/session-template.md
Normal 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`
|
||||||
32
loops/registry-hygiene/signals.yml
Normal file
32
loops/registry-hygiene/signals.yml
Normal 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
|
||||||
11
loops/regulator/cadence.yml
Normal file
11
loops/regulator/cadence.yml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
loop: loop-regulator
|
||||||
|
phase: operate
|
||||||
|
collector_cron: "0 11 * * 1"
|
||||||
|
regulator_session_cron: "0 11 * * 1"
|
||||||
|
promoted_at: "2026-06-19"
|
||||||
|
regulator_approval: approved
|
||||||
|
notes: >
|
||||||
|
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).
|
||||||
62
loops/regulator/dashboard.md
Normal file
62
loops/regulator/dashboard.md
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
# Loop regulator dashboard
|
||||||
|
|
||||||
|
Regenerated 2026-06-19 (LOOP-WP-0005 T07 / DEC-008).
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
|
||||||
|
| Loop | Phase | Last health | Manual rescues | Recommendation |
|
||||||
|
|------|-------|-------------|----------------|----------------|
|
||||||
|
| 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 |
|
||||||
|
|
||||||
|
## Observation window (ADR-003)
|
||||||
|
|
||||||
|
| Field | Value |
|
||||||
|
|-------|-------|
|
||||||
|
| Started | 2026-06-18 |
|
||||||
|
| 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`.
|
||||||
|
|
||||||
|
## Active definitions (activity-core)
|
||||||
|
|
||||||
|
| 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 |
|
||||||
|
|
||||||
|
Retired `coulomb-daily-*` and `coulomb-hourly-*` ids disabled on next sync.
|
||||||
|
|
||||||
|
## Rotation queue (ADR-004)
|
||||||
|
|
||||||
|
| Repo | Saturation score | Action |
|
||||||
|
|------|------------------|--------|
|
||||||
|
| 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 7 daily cycles |
|
||||||
|
|
||||||
|
No rotation recommended. See `rotation-runbook.md`.
|
||||||
|
|
||||||
|
## Blockers
|
||||||
|
|
||||||
|
| Item | Owner | Hub ref |
|
||||||
|
|------|-------|---------|
|
||||||
|
| 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 | `weekly-loop-health-collector` |
|
||||||
|
|
||||||
|
|
||||||
|
## Regulator cadence (DEC-008)
|
||||||
|
|
||||||
|
- Collector: weekly Monday 11:00
|
||||||
|
- Session: weekly Monday 11:00
|
||||||
2
loops/regulator/health.jsonl
Normal file
2
loops/regulator/health.jsonl
Normal file
@@ -0,0 +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"}
|
||||||
|
{"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)"}
|
||||||
52
loops/regulator/rotation-runbook.md
Normal file
52
loops/regulator/rotation-runbook.md
Normal 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
|
||||||
67
loops/regulator/session-template.md
Normal file
67
loops/regulator/session-template.md
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
# 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.
|
||||||
|
|
||||||
|
## Cadence promotion (atomic)
|
||||||
|
|
||||||
|
After regulator approval, promote all three scheduling layers in one step:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
kaizen-agentic schedule promote \
|
||||||
|
--engagement-repo /home/worsch/coulomb-loop \
|
||||||
|
--engagement coulomb-loop \
|
||||||
|
--to-phase operate \
|
||||||
|
--activity-core /home/worsch/activity-core
|
||||||
|
```
|
||||||
|
|
||||||
|
Dry-run first: add `--dry-run`. Repair fleet drift only (definitions already promoted):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
kaizen-agentic schedule promote \
|
||||||
|
--engagement-repo /home/worsch/coulomb-loop \
|
||||||
|
--fleet-only \
|
||||||
|
--activity-core /home/worsch/activity-core
|
||||||
|
```
|
||||||
|
|
||||||
|
Layers: (1) `loops/*/cadence.yml`, (2) `activity-definitions/` + activity-core sync,
|
||||||
|
(3) pilot `.kaizen/schedule.yml` via roster.
|
||||||
|
|
||||||
|
## 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`.
|
||||||
27
loops/regulator/stabilize-observation.yml
Normal file
27
loops/regulator/stabilize-observation.yml
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
version: "1"
|
||||||
|
started_at: "2026-06-18"
|
||||||
|
review_at: "2026-07-02"
|
||||||
|
closed_at: "2026-06-19"
|
||||||
|
duration_days: 14
|
||||||
|
policy: ADR-003
|
||||||
|
loops:
|
||||||
|
- kaizen-improvement-stack
|
||||||
|
- quality-escalation
|
||||||
|
- registry-hygiene
|
||||||
|
- loop-regulator
|
||||||
|
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).
|
||||||
|
Closed early via DEC-008; weekly promotion applied in loops/*/cadence.yml.
|
||||||
53
loops/regulator/supplier-playbook-draft.md
Normal file
53
loops/regulator/supplier-playbook-draft.md
Normal 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-001–004, 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.
|
||||||
@@ -0,0 +1,96 @@
|
|||||||
|
---
|
||||||
|
id: capability.coulomb-social.loop-orchestrate
|
||||||
|
name: Fleet Loop Orchestration Engagement
|
||||||
|
summary: Customer engagement capability for operating kaizen self-improvement loops across a registered fleet roster.
|
||||||
|
owner: coulomb-loop
|
||||||
|
status: draft
|
||||||
|
domain: coulomb_social
|
||||||
|
tags:
|
||||||
|
- coulomb-loop
|
||||||
|
- kaizen
|
||||||
|
- engagement
|
||||||
|
- activity-core
|
||||||
|
|
||||||
|
maturity:
|
||||||
|
discovery:
|
||||||
|
current: D0
|
||||||
|
target: D3
|
||||||
|
confidence: low
|
||||||
|
rationale: Engagement repo registered; loop workplans and ADRs committed; automation partially live.
|
||||||
|
availability:
|
||||||
|
current: A0
|
||||||
|
target: A2
|
||||||
|
confidence: low
|
||||||
|
rationale: Orchestration depends on activity-core cron and manual operator steps during bootstrap.
|
||||||
|
|
||||||
|
external_evidence:
|
||||||
|
completeness:
|
||||||
|
level: C0
|
||||||
|
confidence: low
|
||||||
|
basis: scope_vs_intent_and_consumer_expectations
|
||||||
|
satisfied_expectations:
|
||||||
|
- INTENT and LOOP-WP workplans define loop map
|
||||||
|
broken_expectations:
|
||||||
|
- event-driven quality path blocked on activity-core event-payload resolver
|
||||||
|
out_of_scope_expectations:
|
||||||
|
- owning kaizen agent prompts
|
||||||
|
reliability:
|
||||||
|
level: R0
|
||||||
|
confidence: low
|
||||||
|
basis: consumer_quality_signals
|
||||||
|
known_reliability_risks:
|
||||||
|
- bootstrap hourly E2E not yet at 3/3 consecutive cycles
|
||||||
|
|
||||||
|
discovery:
|
||||||
|
intent: >
|
||||||
|
Make fleet-wide self-improvement loops operable as a governed engagement —
|
||||||
|
rosters, cadence policy, ActivityDefinitions, and health records — without
|
||||||
|
colocating agent runtime in the customer repo.
|
||||||
|
includes:
|
||||||
|
- pilot roster declaration
|
||||||
|
- activity-core definition copies and enable order
|
||||||
|
- cadence ramp and regulator policy (LOOP-WP-0004)
|
||||||
|
- supplier friction feedback to kaizen-agentic
|
||||||
|
excludes:
|
||||||
|
- kaizen agent definitions
|
||||||
|
- Temporal worker implementation
|
||||||
|
- per-repo .kaizen runtime in coulomb-loop
|
||||||
|
use_cases:
|
||||||
|
- Coulomb fleet kaizen bootstrap (kaizen-agentic, the-custodian, activity-core pilots)
|
||||||
|
research_memos:
|
||||||
|
- history/2026-06-18-initial-codebase-assessment.md
|
||||||
|
|
||||||
|
availability:
|
||||||
|
current_level: A0
|
||||||
|
target_level: A2
|
||||||
|
current_artifacts:
|
||||||
|
- coulomb-loop/INTENT.md
|
||||||
|
- coulomb-loop/workplans/LOOP-WP-0000-engagement-bootstrap.md
|
||||||
|
- coulomb-loop/loops/kaizen-stack/roster.yaml
|
||||||
|
consumption_modes:
|
||||||
|
- informational
|
||||||
|
|
||||||
|
relations:
|
||||||
|
depends_on:
|
||||||
|
- capability.activity.event-coordinate
|
||||||
|
supports: []
|
||||||
|
related_to:
|
||||||
|
- capability.registry.validate
|
||||||
|
|
||||||
|
consumer_guidance:
|
||||||
|
recommended_for:
|
||||||
|
- planning multi-repo kaizen engagements with activity-core orchestration
|
||||||
|
not_recommended_for:
|
||||||
|
- single-repo agent authoring (use kaizen-agentic directly)
|
||||||
|
known_limitations:
|
||||||
|
- D0 discovery only; automation maturity tracked in LOOP-WP-0001 bootstrap log
|
||||||
|
|
||||||
|
promotion_history: []
|
||||||
|
---
|
||||||
|
|
||||||
|
# Fleet Loop Orchestration Engagement
|
||||||
|
|
||||||
|
`coulomb-loop` is the customer engagement repo for Coulomb fleet self-improvement
|
||||||
|
loops. Supplier: `kaizen-agentic`. Scheduler: `activity-core`. State: target repos.
|
||||||
|
|
||||||
|
See `INTENT.md` and `workplans/LOOP-WP-0001` for operational status.
|
||||||
@@ -1,4 +1,7 @@
|
|||||||
version: 1
|
version: 1
|
||||||
updated: '2026-06-16'
|
updated: '2026-06-18'
|
||||||
domain: helix_forge
|
domain: coulomb_social
|
||||||
capabilities: []
|
capabilities:
|
||||||
|
- id: capability.coulomb-social.loop-orchestrate
|
||||||
|
path: registry/capabilities/capability.coulomb-social.loop-orchestrate.md
|
||||||
|
status: draft
|
||||||
@@ -2,11 +2,11 @@
|
|||||||
id: LOOP-WP-0000
|
id: LOOP-WP-0000
|
||||||
type: workplan
|
type: workplan
|
||||||
title: "Engagement bootstrap (registration, assessment, governance)"
|
title: "Engagement bootstrap (registration, assessment, governance)"
|
||||||
domain: coulomb_social
|
domain: communication
|
||||||
repo: coulomb-loop
|
repo: coulomb-loop
|
||||||
status: active
|
status: done
|
||||||
owner: coulomb-loop
|
owner: coulomb-loop
|
||||||
topic_slug: coulomb_social
|
topic_slug: coulomb-social
|
||||||
supplier: kaizen-agentic
|
supplier: kaizen-agentic
|
||||||
created: "2026-06-18"
|
created: "2026-06-18"
|
||||||
updated: "2026-06-18"
|
updated: "2026-06-18"
|
||||||
@@ -34,14 +34,14 @@ tasks:
|
|||||||
status: done
|
status: done
|
||||||
title: Fill SCOPE.md and .claude/rules integration stubs
|
title: Fill SCOPE.md and .claude/rules integration stubs
|
||||||
- id: T08
|
- id: T08
|
||||||
status: todo
|
status: done
|
||||||
title: Register reuse-surface capability entry for loop orchestration
|
title: Register reuse-surface capability entry for loop orchestration
|
||||||
state_hub_workstream_id: "0df6df54-4313-4c2d-93f2-dc6844fe47ec"
|
state_hub_workstream_id: "0df6df54-4313-4c2d-93f2-dc6844fe47ec"
|
||||||
---
|
---
|
||||||
|
|
||||||
# LOOP-WP-0000 — Engagement Bootstrap
|
# LOOP-WP-0000 — Engagement Bootstrap
|
||||||
|
|
||||||
**Status:** active
|
**Status:** done
|
||||||
**Owner:** coulomb-loop
|
**Owner:** coulomb-loop
|
||||||
**Purpose:** One-time (and ongoing governance) setup before loop automation runs.
|
**Purpose:** One-time (and ongoing governance) setup before loop automation runs.
|
||||||
|
|
||||||
@@ -135,13 +135,13 @@ SCOPE.md and `.claude/rules/{repo-identity,architecture,repo-boundary,stack-and-
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: LOOP-WP-0000-T08
|
id: LOOP-WP-0000-T08
|
||||||
status: todo
|
status: done
|
||||||
priority: low
|
priority: low
|
||||||
state_hub_task_id: "54f5e683-0081-4db1-abdb-4f57323f840e"
|
state_hub_task_id: "54f5e683-0081-4db1-abdb-4f57323f840e"
|
||||||
```
|
```
|
||||||
|
|
||||||
Add capability row for fleet loop orchestration engagement (D0 scaffold).
|
`capability.coulomb_social.loop-orchestrate` at D0 in `registry/capabilities/`.
|
||||||
Run `reuse-surface validate` when entry drafted.
|
Index updated; `reuse-surface validate` passes (2026-06-18).
|
||||||
|
|
||||||
## Definition of done
|
## Definition of done
|
||||||
|
|
||||||
|
|||||||
@@ -2,11 +2,11 @@
|
|||||||
id: LOOP-WP-0001
|
id: LOOP-WP-0001
|
||||||
type: workplan
|
type: workplan
|
||||||
title: "Kaizen Improvement Stack (coach + metrics + optimization)"
|
title: "Kaizen Improvement Stack (coach + metrics + optimization)"
|
||||||
domain: coulomb_social
|
domain: communication
|
||||||
repo: coulomb-loop
|
repo: coulomb-loop
|
||||||
status: active
|
status: done
|
||||||
owner: coulomb-loop
|
owner: coulomb-loop
|
||||||
topic_slug: coulomb_social
|
topic_slug: coulomb-social
|
||||||
supplier: kaizen-agentic
|
supplier: kaizen-agentic
|
||||||
created: "2026-06-18"
|
created: "2026-06-18"
|
||||||
updated: "2026-06-18"
|
updated: "2026-06-18"
|
||||||
@@ -31,17 +31,17 @@ tasks:
|
|||||||
status: done
|
status: done
|
||||||
title: Hourly bootstrap smoke test on single pilot repo
|
title: Hourly bootstrap smoke test on single pilot repo
|
||||||
- id: T07
|
- id: T07
|
||||||
status: todo
|
status: done
|
||||||
title: Expand pilot to three repos and record metrics at session close
|
title: Expand pilot to three repos and record metrics at session close
|
||||||
- id: T08
|
- id: T08
|
||||||
status: todo
|
status: done
|
||||||
title: Promote cadence to daily after bootstrap exit criteria met
|
title: Promote cadence to daily after bootstrap exit criteria met
|
||||||
state_hub_workstream_id: "90a05147-7b95-4ce7-96bf-39cdb487b557"
|
state_hub_workstream_id: "90a05147-7b95-4ce7-96bf-39cdb487b557"
|
||||||
---
|
---
|
||||||
|
|
||||||
# LOOP-WP-0001 — Kaizen Improvement Stack
|
# LOOP-WP-0001 — Kaizen Improvement Stack
|
||||||
|
|
||||||
**Status:** active
|
**Status:** done
|
||||||
**Owner:** coulomb-loop (customer)
|
**Owner:** coulomb-loop (customer)
|
||||||
**Supplier:** kaizen-agentic
|
**Supplier:** kaizen-agentic
|
||||||
**Repo:** coulomb-loop
|
**Repo:** coulomb-loop
|
||||||
@@ -227,11 +227,14 @@ without manual intervention.
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: LOOP-WP-0001-T07
|
id: LOOP-WP-0001-T07
|
||||||
status: todo
|
status: done
|
||||||
priority: medium
|
priority: medium
|
||||||
state_hub_task_id: "e60fa833-9407-460a-b1d1-7e08850fa291"
|
state_hub_task_id: "e60fa833-9407-460a-b1d1-7e08850fa291"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Completed 2026-06-18: 3/3 consecutive hourly E2E cycles (cron 09:00 chain + manual
|
||||||
|
cycles 2–3). Session-close metrics on all 3 pilots. Evidence: `bootstrap-log.md`.
|
||||||
|
|
||||||
Enable activity-core definitions for full pilot roster. Each session close:
|
Enable activity-core definitions for full pilot roster. Each session close:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -245,11 +248,15 @@ kaizen-agentic metrics record optimization --success --time <s> --quality <0-1>
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: LOOP-WP-0001-T08
|
id: LOOP-WP-0001-T08
|
||||||
status: todo
|
status: done
|
||||||
priority: low
|
priority: low
|
||||||
state_hub_task_id: "7c77ec4f-594c-4122-9c64-af5c4071446d"
|
state_hub_task_id: "7c77ec4f-594c-4122-9c64-af5c4071446d"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Completed 2026-06-18: promoted to stabilize phase — daily crons (metrics 08:00,
|
||||||
|
coach 09:00, optimization 10:00). Updated pilot `schedule.yml`, activity-definitions,
|
||||||
|
and activity-core Temporal schedules. `loops/kaizen-stack/cadence.yml` approved.
|
||||||
|
|
||||||
After LOOP-WP-0004 regulator approves:
|
After LOOP-WP-0004 regulator approves:
|
||||||
|
|
||||||
1. Update pilot `schedule.yml` crons to daily (`0 8`, `0 9`, `0 10`)
|
1. Update pilot `schedule.yml` crons to daily (`0 8`, `0 9`, `0 10`)
|
||||||
|
|||||||
@@ -2,11 +2,11 @@
|
|||||||
id: LOOP-WP-0002
|
id: LOOP-WP-0002
|
||||||
type: workplan
|
type: workplan
|
||||||
title: "Reactive Quality Escalation (signal-driven improvement)"
|
title: "Reactive Quality Escalation (signal-driven improvement)"
|
||||||
domain: coulomb_social
|
domain: communication
|
||||||
repo: coulomb-loop
|
repo: coulomb-loop
|
||||||
status: active
|
status: finished
|
||||||
owner: coulomb-loop
|
owner: coulomb-loop
|
||||||
topic_slug: coulomb_social
|
topic_slug: coulomb-social
|
||||||
supplier: kaizen-agentic
|
supplier: kaizen-agentic
|
||||||
created: "2026-06-18"
|
created: "2026-06-18"
|
||||||
updated: "2026-06-18"
|
updated: "2026-06-18"
|
||||||
@@ -20,26 +20,26 @@ tasks:
|
|||||||
status: done
|
status: done
|
||||||
title: Draft low-success-rate ActivityDefinition for coulomb-loop
|
title: Draft low-success-rate ActivityDefinition for coulomb-loop
|
||||||
- id: T03
|
- id: T03
|
||||||
status: todo
|
status: done
|
||||||
title: Specify kaizen.metrics.recorded event emitter contract
|
title: Specify kaizen.metrics.recorded event emitter contract
|
||||||
- id: T04
|
- id: T04
|
||||||
status: todo
|
status: done
|
||||||
title: Hourly metrics sweep fallback until event bus is live
|
title: Hourly metrics sweep fallback until event bus is live
|
||||||
- id: T05
|
- id: T05
|
||||||
status: todo
|
status: done
|
||||||
title: Wire activity-core event trigger and smoke test
|
title: Wire activity-core event trigger and smoke test
|
||||||
- id: T06
|
- id: T06
|
||||||
status: todo
|
status: done
|
||||||
title: Add test-maintenance escalation path for CI-degraded repos
|
title: Add test-maintenance escalation path for CI-degraded repos
|
||||||
- id: T07
|
- id: T07
|
||||||
status: todo
|
status: done
|
||||||
title: Promote sweep cadence from hourly to daily after stabilization
|
title: Promote sweep cadence from hourly to daily after stabilization
|
||||||
state_hub_workstream_id: "d4d3b624-dad3-4e1d-9db3-e84548d133de"
|
state_hub_workstream_id: "d4d3b624-dad3-4e1d-9db3-e84548d133de"
|
||||||
---
|
---
|
||||||
|
|
||||||
# LOOP-WP-0002 — Reactive Quality Escalation
|
# LOOP-WP-0002 — Reactive Quality Escalation
|
||||||
|
|
||||||
**Status:** active
|
**Status:** finished
|
||||||
**Owner:** coulomb-loop (customer)
|
**Owner:** coulomb-loop (customer)
|
||||||
**Supplier:** kaizen-agentic
|
**Supplier:** kaizen-agentic
|
||||||
**Depends on:** LOOP-WP-0001 (metrics scaffold on pilot repos)
|
**Depends on:** LOOP-WP-0001 (metrics scaffold on pilot repos)
|
||||||
@@ -88,7 +88,7 @@ The sweep is **temporary scaffolding**, not the long-term design.
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: LOOP-WP-0002-T01
|
id: LOOP-WP-0002-T01
|
||||||
status: todo
|
status: done
|
||||||
priority: high
|
priority: high
|
||||||
state_hub_task_id: "f6f549e5-0d67-49b8-8165-346c64000696"
|
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
|
```task
|
||||||
id: LOOP-WP-0002-T02
|
id: LOOP-WP-0002-T02
|
||||||
status: todo
|
status: done
|
||||||
priority: high
|
priority: high
|
||||||
state_hub_task_id: "a19c2ade-029d-4b1c-ba08-8fd82729e649"
|
state_hub_task_id: "a19c2ade-029d-4b1c-ba08-8fd82729e649"
|
||||||
```
|
```
|
||||||
@@ -119,11 +119,14 @@ Adjust:
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: LOOP-WP-0002-T03
|
id: LOOP-WP-0002-T03
|
||||||
status: todo
|
status: done
|
||||||
priority: high
|
priority: high
|
||||||
state_hub_task_id: "6dbdb335-9c1d-4db0-ad7d-4342c966cd47"
|
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`:
|
Document expected NATS payload in `loops/quality-escalation/event-payload.md`:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
@@ -148,11 +151,14 @@ implementation stays in kaizen-agentic.
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: LOOP-WP-0002-T04
|
id: LOOP-WP-0002-T04
|
||||||
status: todo
|
status: done
|
||||||
priority: medium
|
priority: medium
|
||||||
state_hub_task_id: "604a9515-0f6b-47e4-8a37-6bfc374ca4f3"
|
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`:
|
Draft `coulomb-loop/activity-definitions/hourly-metrics-health-sweep.md`:
|
||||||
|
|
||||||
- Resolver: shell `discover_kaizen_projects` with marker `.kaizen/metrics`
|
- Resolver: shell `discover_kaizen_projects` with marker `.kaizen/metrics`
|
||||||
@@ -166,18 +172,19 @@ Cron: `45 * * * *` (offset from LOOP-WP-0001 hourly chain).
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: LOOP-WP-0002-T05
|
id: LOOP-WP-0002-T05
|
||||||
status: todo
|
status: done
|
||||||
priority: medium
|
priority: medium
|
||||||
state_hub_task_id: "a5d8a6e1-9908-49a5-8976-900c433cd325"
|
state_hub_task_id: "a5d8a6e1-9908-49a5-8976-900c433cd325"
|
||||||
```
|
```
|
||||||
|
|
||||||
1. Sync sweep definition to activity-core
|
Completed 2026-06-18 after activity-core ACTIVITY-WP-0011 event-payload resolver:
|
||||||
2. Inject test metrics below threshold on one pilot repo
|
|
||||||
3. Verify task creation within one hourly cycle
|
|
||||||
4. Run optimization session; confirm metrics improve on next sweep
|
|
||||||
|
|
||||||
When event bus is ready, enable `low-success-rate-review` and keep sweep as
|
1. `low-success-rate-review` enabled and synced (`da7a9af7-7bec-5677-9520-3c6ee6d01964`)
|
||||||
backup only.
|
2. Pilot metrics seeded on `kaizen-agentic` (coach `success_rate: 0.75`, `execution_count: 8`)
|
||||||
|
3. Event router + NATS publish `activity.kaizen.metrics.recorded` → `tasks_spawned=1`
|
||||||
|
4. Context snapshot confirmed `context.metrics.summary.success_rate=0.75`
|
||||||
|
|
||||||
|
Optimization close-out deferred to next scheduled optimization cycle (LOOP-WP-0001).
|
||||||
|
|
||||||
## Part 3 — Test health path
|
## Part 3 — Test health path
|
||||||
|
|
||||||
@@ -185,11 +192,13 @@ backup only.
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: LOOP-WP-0002-T06
|
id: LOOP-WP-0002-T06
|
||||||
status: todo
|
status: done
|
||||||
priority: low
|
priority: low
|
||||||
state_hub_task_id: "206d33c2-0a8a-4274-8361-f69291f11b94"
|
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`
|
Draft `hourly-ci-health-escalation.md` (bootstrap) / `daily-ci-health-escalation.md`
|
||||||
(stabilize):
|
(stabilize):
|
||||||
|
|
||||||
@@ -204,16 +213,16 @@ Defer full fleet CI integration until daily phase.
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: LOOP-WP-0002-T07
|
id: LOOP-WP-0002-T07
|
||||||
status: todo
|
status: done
|
||||||
priority: low
|
priority: low
|
||||||
state_hub_task_id: "fa4205f4-6058-495c-bcaa-40c20f27f9aa"
|
state_hub_task_id: "fa4205f4-6058-495c-bcaa-40c20f27f9aa"
|
||||||
```
|
```
|
||||||
|
|
||||||
After LOOP-WP-0004 approval and event trigger proven:
|
Completed 2026-06-18:
|
||||||
|
|
||||||
1. Disable hourly sweep
|
1. Hourly sweep retired (`enabled: false`, cron promoted to `0 6 * * *`)
|
||||||
2. Enable event-driven `low-success-rate-review`
|
2. Event-driven `low-success-rate-review` primary (`enabled: true`)
|
||||||
3. Retain daily backup sweep at `0 6 * * *`
|
3. `loops/quality-escalation/cadence.yml` → `phase: stabilize`
|
||||||
|
|
||||||
## Definition of done
|
## Definition of done
|
||||||
|
|
||||||
|
|||||||
@@ -2,11 +2,11 @@
|
|||||||
id: LOOP-WP-0003
|
id: LOOP-WP-0003
|
||||||
type: workplan
|
type: workplan
|
||||||
title: "Registry & Orientation Hygiene (fleet legibility)"
|
title: "Registry & Orientation Hygiene (fleet legibility)"
|
||||||
domain: coulomb_social
|
domain: communication
|
||||||
repo: coulomb-loop
|
repo: coulomb-loop
|
||||||
status: active
|
status: done
|
||||||
owner: coulomb-loop
|
owner: coulomb-loop
|
||||||
topic_slug: coulomb_social
|
topic_slug: coulomb-social
|
||||||
supplier: kaizen-agentic
|
supplier: kaizen-agentic
|
||||||
created: "2026-06-18"
|
created: "2026-06-18"
|
||||||
updated: "2026-06-18"
|
updated: "2026-06-18"
|
||||||
@@ -14,32 +14,32 @@ depends_on:
|
|||||||
- LOOP-WP-0001
|
- LOOP-WP-0001
|
||||||
tasks:
|
tasks:
|
||||||
- id: T01
|
- id: T01
|
||||||
status: todo
|
status: done
|
||||||
title: Define hygiene signals and domain rollout order
|
title: Define hygiene signals and domain rollout order
|
||||||
- id: T02
|
- id: T02
|
||||||
status: todo
|
status: done
|
||||||
title: Create hourly registry gap sweep ActivityDefinition
|
title: Create hourly registry gap sweep ActivityDefinition
|
||||||
- id: T03
|
- id: T03
|
||||||
status: todo
|
status: done
|
||||||
title: Create scope-analyst orientation task template
|
title: Create scope-analyst orientation task template
|
||||||
- id: T04
|
- id: T04
|
||||||
status: todo
|
status: done
|
||||||
title: Integrate state-hub SBOM staleness with hygiene roster
|
title: Integrate state-hub SBOM staleness with hygiene roster
|
||||||
- id: T05
|
- id: T05
|
||||||
status: todo
|
status: done
|
||||||
title: Hourly bootstrap on custodian-domain pilot slice
|
title: Hourly bootstrap on custodian-domain pilot slice
|
||||||
- id: T06
|
- id: T06
|
||||||
status: todo
|
status: done
|
||||||
title: Expand to next domain batch after pilot exit
|
title: Expand to next domain batch after pilot exit
|
||||||
- id: T07
|
- id: T07
|
||||||
status: todo
|
status: done
|
||||||
title: Promote cadence to daily then weekly
|
title: Promote cadence to daily then weekly
|
||||||
state_hub_workstream_id: "f3a4b60a-7bc2-400d-bf8a-e7209a9e45c4"
|
state_hub_workstream_id: "f3a4b60a-7bc2-400d-bf8a-e7209a9e45c4"
|
||||||
---
|
---
|
||||||
|
|
||||||
# LOOP-WP-0003 — Registry & Orientation Hygiene
|
# LOOP-WP-0003 — Registry & Orientation Hygiene
|
||||||
|
|
||||||
**Status:** active
|
**Status:** done
|
||||||
**Owner:** coulomb-loop (customer)
|
**Owner:** coulomb-loop (customer)
|
||||||
**Supplier:** kaizen-agentic (`scope-analyst` agent)
|
**Supplier:** kaizen-agentic (`scope-analyst` agent)
|
||||||
**Partner:** reuse-surface (CLI), state-hub (SBOM status)
|
**Partner:** reuse-surface (CLI), state-hub (SBOM status)
|
||||||
@@ -100,7 +100,7 @@ hour), not full fleet scan.
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: LOOP-WP-0003-T01
|
id: LOOP-WP-0003-T01
|
||||||
status: todo
|
status: done
|
||||||
priority: high
|
priority: high
|
||||||
state_hub_task_id: "cacc914e-85e6-4067-b39d-cf8a3ae91320"
|
state_hub_task_id: "cacc914e-85e6-4067-b39d-cf8a3ae91320"
|
||||||
```
|
```
|
||||||
@@ -115,7 +115,7 @@ Create:
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: LOOP-WP-0003-T02
|
id: LOOP-WP-0003-T02
|
||||||
status: todo
|
status: done
|
||||||
priority: high
|
priority: high
|
||||||
state_hub_task_id: "7c6b15cd-a5ac-4602-956f-61de72a55fef"
|
state_hub_task_id: "7c6b15cd-a5ac-4602-956f-61de72a55fef"
|
||||||
```
|
```
|
||||||
@@ -150,7 +150,7 @@ reuse-surface establish --publish-check # when registry touched
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: LOOP-WP-0003-T03
|
id: LOOP-WP-0003-T03
|
||||||
status: todo
|
status: done
|
||||||
priority: medium
|
priority: medium
|
||||||
state_hub_task_id: "e8eb2700-8ef5-43fb-8d2e-ec080fa86f6f"
|
state_hub_task_id: "e8eb2700-8ef5-43fb-8d2e-ec080fa86f6f"
|
||||||
```
|
```
|
||||||
@@ -165,11 +165,13 @@ file state-hub progress event.
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: LOOP-WP-0003-T04
|
id: LOOP-WP-0003-T04
|
||||||
status: todo
|
status: done
|
||||||
priority: medium
|
priority: medium
|
||||||
state_hub_task_id: "09cec748-0bfa-4870-b44f-50813f7ed626"
|
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`:
|
Document handoff with existing `activity-core/weekly-sbom-staleness`:
|
||||||
|
|
||||||
- Do not duplicate SBOM rescans in this loop
|
- Do not duplicate SBOM rescans in this loop
|
||||||
@@ -182,11 +184,14 @@ Add cross-reference in `loops/registry-hygiene/signals.yml`.
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: LOOP-WP-0003-T05
|
id: LOOP-WP-0003-T05
|
||||||
status: todo
|
status: done
|
||||||
priority: medium
|
priority: medium
|
||||||
state_hub_task_id: "76029879-01ed-4db2-afcf-3876db45b395"
|
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`.
|
Pilot batch: `kaizen-agentic`, `the-custodian`, `activity-core`.
|
||||||
|
|
||||||
Manual smoke test (before activity-core enable):
|
Manual smoke test (before activity-core enable):
|
||||||
@@ -203,11 +208,13 @@ reuse-surface validate # in target repo
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: LOOP-WP-0003-T06
|
id: LOOP-WP-0003-T06
|
||||||
status: todo
|
status: done
|
||||||
priority: low
|
priority: low
|
||||||
state_hub_task_id: "f6e5a9d5-2c32-439d-9e95-aa6d6fd3c6ab"
|
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
|
After regulator approval, add helix_forge domain to rollout. Increase batch size
|
||||||
when false-positive rate stays below 20%.
|
when false-positive rate stays below 20%.
|
||||||
|
|
||||||
@@ -215,11 +222,14 @@ when false-positive rate stays below 20%.
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: LOOP-WP-0003-T07
|
id: LOOP-WP-0003-T07
|
||||||
status: todo
|
status: done
|
||||||
priority: low
|
priority: low
|
||||||
state_hub_task_id: "5b6bb667-42e1-4e41-968e-4025ac2e72ce"
|
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 |
|
| Promotion | Condition |
|
||||||
|-----------|-----------|
|
|-----------|-----------|
|
||||||
| hourly → daily | bootstrap exit + LOOP-WP-0004 approval |
|
| hourly → daily | bootstrap exit + LOOP-WP-0004 approval |
|
||||||
|
|||||||
@@ -2,11 +2,11 @@
|
|||||||
id: LOOP-WP-0004
|
id: LOOP-WP-0004
|
||||||
type: workplan
|
type: workplan
|
||||||
title: "Loop Regulator (second-order improvement)"
|
title: "Loop Regulator (second-order improvement)"
|
||||||
domain: coulomb_social
|
domain: communication
|
||||||
repo: coulomb-loop
|
repo: coulomb-loop
|
||||||
status: active
|
status: done
|
||||||
owner: coulomb-loop
|
owner: coulomb-loop
|
||||||
topic_slug: coulomb_social
|
topic_slug: coulomb-social
|
||||||
supplier: kaizen-agentic
|
supplier: kaizen-agentic
|
||||||
created: "2026-06-18"
|
created: "2026-06-18"
|
||||||
updated: "2026-06-18"
|
updated: "2026-06-18"
|
||||||
@@ -22,32 +22,32 @@ tasks:
|
|||||||
status: done
|
status: done
|
||||||
title: Create loops/ directory structure and cadence.yml per loop
|
title: Create loops/ directory structure and cadence.yml per loop
|
||||||
- id: T03
|
- id: T03
|
||||||
status: todo
|
status: done
|
||||||
title: Draft hourly loop-health-collector ActivityDefinition
|
title: Draft hourly loop-health-collector ActivityDefinition
|
||||||
- id: T04
|
- id: T04
|
||||||
status: todo
|
status: done
|
||||||
title: Draft optimization-agent regulator session template
|
title: Draft optimization-agent regulator session template
|
||||||
- id: T05
|
- id: T05
|
||||||
status: todo
|
status: done
|
||||||
title: Hourly bootstrap — collect metrics from all three primary loops
|
title: Hourly bootstrap — collect metrics from all three primary loops
|
||||||
- id: T06
|
- id: T06
|
||||||
status: todo
|
status: done
|
||||||
title: First cadence promotion decision on LOOP-WP-0001
|
title: First cadence promotion decision on LOOP-WP-0001
|
||||||
- id: T07
|
- id: T07
|
||||||
status: todo
|
status: done
|
||||||
title: Publish supplier customer-repo playbook draft to kaizen-agentic
|
title: Publish supplier customer-repo playbook draft to kaizen-agentic
|
||||||
- id: T08
|
- id: T08
|
||||||
status: todo
|
status: done
|
||||||
title: Promote regulator from hourly to daily after meta-loop stabilizes
|
title: Promote regulator from hourly to daily after meta-loop stabilizes
|
||||||
- id: T09
|
- id: T09
|
||||||
status: todo
|
status: done
|
||||||
title: Implement diminishing-returns detection and repo rotation per ADR-004
|
title: Implement diminishing-returns detection and repo rotation per ADR-004
|
||||||
state_hub_workstream_id: "08970648-dbd8-48f6-9b3a-72f196013089"
|
state_hub_workstream_id: "08970648-dbd8-48f6-9b3a-72f196013089"
|
||||||
---
|
---
|
||||||
|
|
||||||
# LOOP-WP-0004 — Loop Regulator (Second-Order Improvement)
|
# LOOP-WP-0004 — Loop Regulator (Second-Order Improvement)
|
||||||
|
|
||||||
**Status:** active
|
**Status:** done
|
||||||
**Owner:** coulomb-loop (customer)
|
**Owner:** coulomb-loop (customer)
|
||||||
**Supplier:** kaizen-agentic (`optimization`, `tooling-optimization`)
|
**Supplier:** kaizen-agentic (`optimization`, `tooling-optimization`)
|
||||||
**Depends on:** LOOP-WP-0001, LOOP-WP-0002, LOOP-WP-0003
|
**Depends on:** LOOP-WP-0001, LOOP-WP-0002, LOOP-WP-0003
|
||||||
@@ -131,7 +131,7 @@ regulator_approval: pending
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: LOOP-WP-0004-T01
|
id: LOOP-WP-0004-T01
|
||||||
status: todo
|
status: done
|
||||||
priority: high
|
priority: high
|
||||||
state_hub_task_id: "d3a9aa4c-ff72-4a09-a545-fa5171768126"
|
state_hub_task_id: "d3a9aa4c-ff72-4a09-a545-fa5171768126"
|
||||||
```
|
```
|
||||||
@@ -143,7 +143,7 @@ Cross-reference INTENT.md cadence ramp policy.
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: LOOP-WP-0004-T02
|
id: LOOP-WP-0004-T02
|
||||||
status: todo
|
status: done
|
||||||
priority: high
|
priority: high
|
||||||
state_hub_task_id: "3ae8f36f-6d6f-4db0-846c-d34a3c4010fe"
|
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
|
```task
|
||||||
id: LOOP-WP-0004-T03
|
id: LOOP-WP-0004-T03
|
||||||
status: todo
|
status: done
|
||||||
priority: high
|
priority: high
|
||||||
state_hub_task_id: "734c76b6-9d34-4fdf-b928-b678578a063a"
|
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`:
|
Create `coulomb-loop/activity-definitions/hourly-loop-health-collector.md`:
|
||||||
|
|
||||||
- Cron: `50 * * * *` (after other hourly loops)
|
- Cron: `50 * * * *` (after other hourly loops)
|
||||||
@@ -197,11 +199,13 @@ Create `coulomb-loop/activity-definitions/hourly-loop-health-collector.md`:
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: LOOP-WP-0004-T04
|
id: LOOP-WP-0004-T04
|
||||||
status: todo
|
status: done
|
||||||
priority: high
|
priority: high
|
||||||
state_hub_task_id: "e417226b-4175-44b3-8284-7255569e956b"
|
state_hub_task_id: "e417226b-4175-44b3-8284-7255569e956b"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Completed 2026-06-18: `loops/regulator/session-template.md`.
|
||||||
|
|
||||||
Create `loops/regulator/session-template.md`:
|
Create `loops/regulator/session-template.md`:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -224,11 +228,13 @@ Record: `kaizen-agentic metrics record optimization --success ...`
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: LOOP-WP-0004-T05
|
id: LOOP-WP-0004-T05
|
||||||
status: todo
|
status: done
|
||||||
priority: medium
|
priority: medium
|
||||||
state_hub_task_id: "9d4dc665-15e6-47e4-9f1c-aa9adff5783d"
|
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.
|
Run collector manually for first 3 cycles before activity-core enable.
|
||||||
Verify `health.jsonl` entries and dashboard regeneration.
|
Verify `health.jsonl` entries and dashboard regeneration.
|
||||||
|
|
||||||
@@ -236,11 +242,13 @@ Verify `health.jsonl` entries and dashboard regeneration.
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: LOOP-WP-0004-T06
|
id: LOOP-WP-0004-T06
|
||||||
status: todo
|
status: done
|
||||||
priority: medium
|
priority: medium
|
||||||
state_hub_task_id: "e8fb9e66-2212-4c6d-b947-2c22d32f1c53"
|
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:
|
When LOOP-WP-0001 bootstrap exit is met:
|
||||||
|
|
||||||
1. Run regulator session
|
1. Run regulator session
|
||||||
@@ -254,11 +262,13 @@ First promotion is the **proof of second-order value**.
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: LOOP-WP-0004-T07
|
id: LOOP-WP-0004-T07
|
||||||
status: todo
|
status: done
|
||||||
priority: medium
|
priority: medium
|
||||||
state_hub_task_id: "9600bd31-5d85-4623-98f9-e50ec56cde3d"
|
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:
|
Synthesize `loops/regulator/supplier-playbook-draft.md` covering:
|
||||||
|
|
||||||
- Minimal customer repo layout (INTENT, workplans, loops/, activity-definitions/)
|
- Minimal customer repo layout (INTENT, workplans, loops/, activity-definitions/)
|
||||||
@@ -274,11 +284,13 @@ supplier repo. **This is the reuse outcome of the entire engagement.**
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: LOOP-WP-0004-T08
|
id: LOOP-WP-0004-T08
|
||||||
status: todo
|
status: done
|
||||||
priority: low
|
priority: low
|
||||||
state_hub_task_id: "e67820e4-8e4d-444b-9c3c-a8b3b23e0a11"
|
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:
|
After 1 week of hourly regulator runs with stable recommendations:
|
||||||
|
|
||||||
- Collector: hourly → daily (`0 11 * * *`)
|
- Collector: hourly → daily (`0 11 * * *`)
|
||||||
@@ -289,11 +301,14 @@ After 1 week of hourly regulator runs with stable recommendations:
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: LOOP-WP-0004-T09
|
id: LOOP-WP-0004-T09
|
||||||
status: todo
|
status: done
|
||||||
priority: medium
|
priority: medium
|
||||||
state_hub_task_id: "431ebe91-3a6f-475f-a862-a784dbbe29b4"
|
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`:
|
Implement saturation detection per `loops/regulator/rotation-policy.yml`:
|
||||||
|
|
||||||
1. Extend health collector to compute `saturation_score` per active repo
|
1. Extend health collector to compute `saturation_score` per active repo
|
||||||
|
|||||||
170
workplans/LOOP-WP-0005-operate-phase-observation.md
Normal file
170
workplans/LOOP-WP-0005-operate-phase-observation.md
Normal file
@@ -0,0 +1,170 @@
|
|||||||
|
---
|
||||||
|
id: LOOP-WP-0005
|
||||||
|
type: workplan
|
||||||
|
title: "Operate phase observation and fleet expansion prep"
|
||||||
|
domain: communication
|
||||||
|
repo: coulomb-loop
|
||||||
|
status: done
|
||||||
|
owner: coulomb-loop
|
||||||
|
topic_slug: coulomb-social
|
||||||
|
supplier: kaizen-agentic
|
||||||
|
created: "2026-06-18"
|
||||||
|
updated: "2026-06-19"
|
||||||
|
depends_on:
|
||||||
|
- LOOP-WP-0001
|
||||||
|
- LOOP-WP-0002
|
||||||
|
- LOOP-WP-0003
|
||||||
|
- LOOP-WP-0004
|
||||||
|
tasks:
|
||||||
|
- id: T01
|
||||||
|
status: done
|
||||||
|
title: Refresh regulator dashboard and loop health summaries
|
||||||
|
state_hub_task_id: "669aa2e5-bc2f-409f-a170-52c2e5824577"
|
||||||
|
- id: T02
|
||||||
|
status: done
|
||||||
|
title: Update SCOPE and engagement docs for stabilize phase
|
||||||
|
state_hub_task_id: "b950ad21-7bd5-4ab5-864d-2e154fc5045a"
|
||||||
|
- id: T03
|
||||||
|
status: done
|
||||||
|
title: Start 14-day stabilize observation window per ADR-003
|
||||||
|
state_hub_task_id: "868c3fa1-9d1d-4f69-af62-67d1142e529c"
|
||||||
|
- id: T04
|
||||||
|
status: done
|
||||||
|
title: Prep reuse-surface for registry hygiene pilot expansion
|
||||||
|
state_hub_task_id: "c6667e3e-3507-456d-baa0-a43c20e095ce"
|
||||||
|
- id: T05
|
||||||
|
status: done
|
||||||
|
title: Draft operate-phase cadence targets (weekly promotion criteria)
|
||||||
|
state_hub_task_id: "07554dce-03d6-42b2-8080-6071482c4f3a"
|
||||||
|
- id: T06
|
||||||
|
status: done
|
||||||
|
title: Handoff reuse_surface_report_gaps resolver to activity-core
|
||||||
|
state_hub_task_id: "92f93ac2-8d01-4094-b701-aa991e4b4caf"
|
||||||
|
- id: T07
|
||||||
|
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"
|
||||||
|
---
|
||||||
|
|
||||||
|
# LOOP-WP-0005 — Operate Phase Observation & Fleet Expansion Prep
|
||||||
|
|
||||||
|
**Status:** done
|
||||||
|
**Owner:** coulomb-loop
|
||||||
|
**Depends on:** LOOP-WP-0000–0004 (bootstrap sprint complete)
|
||||||
|
|
||||||
|
## Goal
|
||||||
|
|
||||||
|
Bridge **stabilize (daily)** to **operate (weekly)** across all four loops without
|
||||||
|
premature promotion. Refresh operator-facing health artefacts, start the ADR-003
|
||||||
|
14-day observation clock, and prepare the next fleet expansion (`reuse-surface`).
|
||||||
|
|
||||||
|
## Context (2026-06-18)
|
||||||
|
|
||||||
|
| Loop | Phase | Primary mechanism |
|
||||||
|
|------|-------|-------------------|
|
||||||
|
| kaizen-improvement-stack | stabilize | daily coach/optimization chain |
|
||||||
|
| quality-escalation | stabilize | event `low-success-rate-review` + daily backup sweep |
|
||||||
|
| registry-hygiene | stabilize | daily sweep enabled (ACTIVITY-WP-0013) |
|
||||||
|
| loop-regulator | stabilize | daily collector 11:00 + weekly session Mon 11:00 |
|
||||||
|
|
||||||
|
Bootstrap sprint closed. Activity definitions renamed `coulomb-daily-*`. Worker
|
||||||
|
restarted; hot-reload capability suggested to activity-core (`f4876517`).
|
||||||
|
|
||||||
|
## Refresh regulator dashboard
|
||||||
|
|
||||||
|
```task
|
||||||
|
id: LOOP-WP-0005-T01
|
||||||
|
status: done
|
||||||
|
priority: high
|
||||||
|
state_hub_task_id: "669aa2e5-bc2f-409f-a170-52c2e5824577"
|
||||||
|
```
|
||||||
|
|
||||||
|
Completed 2026-06-18: `loops/regulator/dashboard.md` — daily defs, event path,
|
||||||
|
observation window, blockers.
|
||||||
|
|
||||||
|
## Update engagement docs
|
||||||
|
|
||||||
|
```task
|
||||||
|
id: LOOP-WP-0005-T02
|
||||||
|
status: done
|
||||||
|
priority: medium
|
||||||
|
state_hub_task_id: "b950ad21-7bd5-4ab5-864d-2e154fc5045a"
|
||||||
|
```
|
||||||
|
|
||||||
|
Completed 2026-06-18: `SCOPE.md` § Current State → stabilize phase.
|
||||||
|
|
||||||
|
## Stabilize observation window
|
||||||
|
|
||||||
|
```task
|
||||||
|
id: LOOP-WP-0005-T03
|
||||||
|
status: done
|
||||||
|
priority: high
|
||||||
|
state_hub_task_id: "868c3fa1-9d1d-4f69-af62-67d1142e529c"
|
||||||
|
```
|
||||||
|
|
||||||
|
Completed 2026-06-18: `loops/regulator/stabilize-observation.yml`:
|
||||||
|
|
||||||
|
- `started_at: 2026-06-18`
|
||||||
|
- `review_at: 2026-07-02` (14 days)
|
||||||
|
- Exit criteria per ADR-003: `false_positive_rate < 0.2`, `manual_rescues == 0`
|
||||||
|
|
||||||
|
## reuse-surface expansion prep
|
||||||
|
|
||||||
|
```task
|
||||||
|
id: LOOP-WP-0005-T04
|
||||||
|
status: done
|
||||||
|
priority: medium
|
||||||
|
state_hub_task_id: "c6667e3e-3507-456d-baa0-a43c20e095ce"
|
||||||
|
```
|
||||||
|
|
||||||
|
Completed 2026-06-18: `loops/registry-hygiene/expansion-reuse-surface.yml` — no
|
||||||
|
`.kaizen/` yet; onboarding path documented; helix_forge rollout active; blocked on
|
||||||
|
shell resolver before hygiene batch promotion.
|
||||||
|
|
||||||
|
## Operate-phase draft
|
||||||
|
|
||||||
|
```task
|
||||||
|
id: LOOP-WP-0005-T05
|
||||||
|
status: done
|
||||||
|
priority: low
|
||||||
|
state_hub_task_id: "07554dce-03d6-42b2-8080-6071482c4f3a"
|
||||||
|
```
|
||||||
|
|
||||||
|
Completed 2026-06-18: `operate_target` blocks added to all four `loops/*/cadence.yml`
|
||||||
|
files (weekly Mon crons, `promotion_gate: LOOP-WP-0005-T07`). Not promoted.
|
||||||
|
|
||||||
|
## activity-core handoff
|
||||||
|
|
||||||
|
```task
|
||||||
|
id: LOOP-WP-0005-T06
|
||||||
|
status: done
|
||||||
|
priority: medium
|
||||||
|
state_hub_task_id: "92f93ac2-8d01-4094-b701-aa991e4b4caf"
|
||||||
|
```
|
||||||
|
|
||||||
|
Completed 2026-06-18: state-hub handoff R2 posted to activity-core
|
||||||
|
(`bffa224c-3594-4fc9-9fa6-a2fc528bbda3`, task `25293d5e-49d6-4c18-af53-317a8c86edcb`).
|
||||||
|
Spec covers shell resolver contract, gap shape, round-robin batching, and acceptance
|
||||||
|
criteria for `coulomb-daily-registry-hygiene-sweep`.
|
||||||
|
|
||||||
|
## Regulator review (gate)
|
||||||
|
|
||||||
|
```task
|
||||||
|
id: LOOP-WP-0005-T07
|
||||||
|
status: done
|
||||||
|
priority: low
|
||||||
|
state_hub_task_id: "890416df-45db-437c-ba9a-355ac464ad0e"
|
||||||
|
```
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
- [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)
|
||||||
Reference in New Issue
Block a user