generated from coulomb/repo-seed
Compare commits
27 Commits
32c935470f
...
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 | |||
| 6948f10968 | |||
| 2bdcb6830d |
@@ -1,25 +1,8 @@
|
||||
## 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. -->
|
||||
|
||||
```
|
||||
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)
|
||||
```
|
||||
## Quick Reference
|
||||
|
||||
### Layers
|
||||
|
||||
| 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).
|
||||
`~/state-hub/mcp_server/TOOLS.md` — MCP tool reference
|
||||
|
||||
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
|
||||
|
||||
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.
|
||||
|
||||
**Step 1 — Read, don't write**
|
||||
- `~/the-custodian/canon/projects/coulomb_social/project_charter_v0.1.md` — purpose, scope
|
||||
- `~/the-custodian/canon/projects/coulomb_social/roadmap_v0.1.md` — planned phases
|
||||
- `~/the-custodian/canon/projects/communication/project_charter_v0.1.md` — purpose, scope
|
||||
- `~/the-custodian/canon/projects/communication/roadmap_v0.1.md` — planned phases
|
||||
- Scan repo root: README, directory structure, existing code or docs
|
||||
|
||||
**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)**
|
||||
```
|
||||
workplans/COULOMB-WP-NNNN-<slug>.md ← write this first
|
||||
workplans/LOOP-WP-NNNN-<slug>.md ← write this first
|
||||
```
|
||||
Then register in the hub:
|
||||
```
|
||||
@@ -28,7 +28,7 @@ create_task(workstream_id="<id>", title="...", priority="high|medium|low")
|
||||
**Step 5 — Record the setup**
|
||||
```
|
||||
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",
|
||||
topic_id="36c7421b-c537-4723-bf75-42a3ebc6a1dc",
|
||||
detail={"workstreams": [...], "tasks_created": M}
|
||||
|
||||
@@ -1,11 +1,8 @@
|
||||
## 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`
|
||||
- activity-core resolvers and Temporal workers → `activity-core`
|
||||
- State-hub API/MCP → `state-hub` / `the-custodian`
|
||||
- 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`.
|
||||
<!-- TODO: List what belongs in adjacent repos, e.g.:
|
||||
- SSH key management → railiance-infra/
|
||||
- State hub code → state-hub/
|
||||
-->
|
||||
|
||||
@@ -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:** coulomb_social
|
||||
**Domain:** communication
|
||||
**Repo slug:** coulomb-loop
|
||||
**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
|
||||
|
||||
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**
|
||||
|
||||
@@ -10,7 +11,7 @@ cat .custodian-brief.md
|
||||
```
|
||||
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:
|
||||
```bash
|
||||
@@ -43,7 +44,7 @@ For each file with `status: ready`, `active`, or `blocked`, note pending
|
||||
|
||||
**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
|
||||
3. **Goal guidance** — if `goal_guidance` in summary:
|
||||
- `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
|
||||
**Package manager:** none
|
||||
**Test runner:** none
|
||||
<!-- TODO: Fill in language, frameworks, and key dependencies -->
|
||||
- **Language:**
|
||||
- **Key deps:**
|
||||
|
||||
### Essential commands
|
||||
## Dev Commands
|
||||
|
||||
```bash
|
||||
# Sync workplans to state-hub after edits
|
||||
cd ~/state-hub && make fix-consistency REPO=coulomb-loop
|
||||
# TODO: Fill in the standard commands for this repo
|
||||
|
||||
# Validate reuse-surface registry (when entries exist)
|
||||
reuse-surface validate
|
||||
# Install dependencies
|
||||
|
||||
# Supplier CLI on target repos (not this repo)
|
||||
kaizen-agentic schedule validate --target /path/to/target-repo
|
||||
kaizen-agentic schedule prepare coach --target /path/to/target-repo
|
||||
# Run tests
|
||||
|
||||
# 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)
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
cd ~/state-hub && make fix-consistency REPO=coulomb-loop
|
||||
Small opportunistic tasks discovered during another session use **Ad Hoc Tasks**:
|
||||
`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).
|
||||
Supplier mirror: `kaizen-agentic` KAIZEN-WP-0008.
|
||||
Status progression is `todo` → `progress` → `done`; use `wait` for waiting or
|
||||
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 — coulomb-loop
|
||||
|
||||
**Domain:** coulomb_social
|
||||
**Last synced:** 2026-06-18 05:46 UTC
|
||||
**Domain:** communication
|
||||
**Last synced:** 2026-06-22 21:20 UTC
|
||||
**State Hub:** http://127.0.0.1:8000 *(adjust if running on a remote machine)*
|
||||
|
||||
## Active Workstreams
|
||||
|
||||
### Engagement bootstrap (registration, assessment, governance)
|
||||
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`
|
||||
*(none — repo may need first-session setup)*
|
||||
|
||||
---
|
||||
## MCP Orientation (when available)
|
||||
|
||||
If the state-hub MCP server is reachable, call:
|
||||
`get_domain_summary("coulomb_social")`
|
||||
`get_domain_summary("communication")`
|
||||
This provides richer cross-domain context.
|
||||
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/architecture.md
|
||||
@.claude/rules/repo-boundary.md
|
||||
@.claude/rules/credential-routing.md
|
||||
@.claude/rules/agents.md
|
||||
|
||||
8
SCOPE.md
8
SCOPE.md
@@ -41,10 +41,10 @@ with project-scoped memory and metrics.
|
||||
|
||||
## Current State
|
||||
|
||||
- Status: active (bootstrap)
|
||||
- Implementation: planning artefacts + hub registration complete
|
||||
- Stability: evolving (hourly cadence bootstrap pending)
|
||||
- Usage: internal engagement
|
||||
- Status: active (operate — weekly cadence)
|
||||
- Implementation: four loops operational on custodian pilot roster (3 repos)
|
||||
- Stability: observation window closed 2026-06-19 via DEC-008 operator override (LOOP-WP-0005 done)
|
||||
- Usage: internal engagement; weekly Mon crons live; activity-core synced 2026-06-19
|
||||
|
||||
## 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,38 +0,0 @@
|
||||
---
|
||||
id: coulomb-hourly-coach-orientation
|
||||
name: Hourly Kaizen Coach Orientation (coulomb-loop bootstrap)
|
||||
enabled: false
|
||||
owner: coulomb-loop
|
||||
governance: coulomb_social
|
||||
status: proposed
|
||||
trigger:
|
||||
type: cron
|
||||
cron_expression: "15 * * * *"
|
||||
timezone: Europe/Berlin
|
||||
misfire_policy: skip
|
||||
context_sources:
|
||||
- type: kaizen
|
||||
query: discover_kaizen_scheduled_repos
|
||||
params:
|
||||
roster: /home/worsch/coulomb-loop/loops/kaizen-stack/roster.yaml
|
||||
cadence: daily
|
||||
bind_to: context.scheduled_runs
|
||||
---
|
||||
|
||||
# Hourly Kaizen Coach Orientation (bootstrap)
|
||||
|
||||
```rule
|
||||
id: run-hourly-coach
|
||||
for_each: context.scheduled_runs
|
||||
bind_as: r
|
||||
condition: 'r.agent == "coach" and r.enabled == true'
|
||||
action:
|
||||
task_template: "Hourly coach orientation: {{r.repo}}"
|
||||
description: |
|
||||
{{r.prepare_command}}
|
||||
Load agents/agent-coach.md, execute coach synthesis.
|
||||
Session close: kaizen-agentic metrics record coach --success --time <s> --quality <0-1>
|
||||
target_repo: "{{r.repo}}"
|
||||
priority: medium
|
||||
labels: ["kaizen", "agent-run", "coach", "coulomb-loop", "bootstrap"]
|
||||
```
|
||||
@@ -1,41 +0,0 @@
|
||||
---
|
||||
id: coulomb-hourly-metrics-health-sweep
|
||||
name: Hourly Metrics Health Sweep (coulomb-loop bootstrap)
|
||||
enabled: false
|
||||
owner: coulomb-loop
|
||||
governance: coulomb_social
|
||||
status: proposed
|
||||
trigger:
|
||||
type: cron
|
||||
cron_expression: "45 * * * *"
|
||||
timezone: Europe/Berlin
|
||||
misfire_policy: skip
|
||||
context_sources:
|
||||
- type: kaizen
|
||||
query: discover_kaizen_projects
|
||||
params:
|
||||
marker: .kaizen/metrics
|
||||
roster: /home/worsch/coulomb-loop/loops/kaizen-stack/roster.yaml
|
||||
bind_to: context.projects
|
||||
---
|
||||
|
||||
# Hourly Metrics Health Sweep
|
||||
|
||||
Bootstrap fallback per DEC-002 option A until `kaizen.metrics.recorded` events ship.
|
||||
|
||||
```rule
|
||||
id: flag-low-success-hourly
|
||||
for_each: context.projects
|
||||
bind_as: p
|
||||
condition: 'p.summary.success_rate < 0.8 and p.summary.execution_count >= 5'
|
||||
action:
|
||||
task_template: "Review {{p.agent}} success rate on {{p.repo}}"
|
||||
description: |
|
||||
Agent metrics below threshold on {{p.repo}}.
|
||||
kaizen-agentic metrics show <agent>
|
||||
kaizen-agentic metrics optimize <agent>
|
||||
Load agents/agent-optimization.md for review.
|
||||
target_repo: "{{p.repo}}"
|
||||
priority: high
|
||||
labels: ["kaizen", "quality-escalation", "coulomb-loop", "bootstrap"]
|
||||
```
|
||||
@@ -1,42 +0,0 @@
|
||||
---
|
||||
id: coulomb-hourly-metrics-optimize
|
||||
name: Hourly Kaizen Metrics Optimization (coulomb-loop bootstrap)
|
||||
enabled: false
|
||||
owner: coulomb-loop
|
||||
governance: coulomb_social
|
||||
status: proposed
|
||||
trigger:
|
||||
type: cron
|
||||
cron_expression: "0 * * * *"
|
||||
timezone: Europe/Berlin
|
||||
misfire_policy: skip
|
||||
context_sources:
|
||||
- type: kaizen
|
||||
query: discover_kaizen_projects
|
||||
params:
|
||||
marker: .kaizen/metrics
|
||||
roster: /home/worsch/coulomb-loop/loops/kaizen-stack/roster.yaml
|
||||
bind_to: context.projects
|
||||
---
|
||||
|
||||
# Hourly Kaizen Metrics Optimization (bootstrap)
|
||||
|
||||
Runs hourly during coulomb-loop bootstrap phase. Limited to pilot roster
|
||||
(DEC-001 option A). Promote to daily when LOOP-WP-0004 regulator approves.
|
||||
|
||||
```rule
|
||||
id: run-hourly-optimizer
|
||||
for_each: context.projects
|
||||
bind_as: p
|
||||
condition: 'p.has_metrics == true and p.in_pilot_roster == true'
|
||||
action:
|
||||
task_template: "Run kaizen metrics optimize on {{p.repo}}"
|
||||
description: |
|
||||
cd {{p.root}} && kaizen-agentic metrics optimize
|
||||
Optional: kaizen-agentic metrics publish (when artifact-store configured)
|
||||
target_repo: "{{p.repo}}"
|
||||
priority: medium
|
||||
labels: ["kaizen", "metrics", "optimizer", "coulomb-loop", "bootstrap"]
|
||||
```
|
||||
|
||||
**Supplier reference:** `kaizen-agentic/docs/integrations/activity-definitions/weekly-metrics-optimize.md`
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: coulomb-low-success-rate-review
|
||||
name: Low Agent Success Rate Review (event-driven)
|
||||
enabled: false
|
||||
enabled: true
|
||||
owner: coulomb-loop
|
||||
governance: coulomb_social
|
||||
status: proposed
|
||||
@@ -15,8 +15,8 @@ context_sources:
|
||||
|
||||
# Low Agent Success Rate Review
|
||||
|
||||
Activates after KAIZEN-WP-0008 T03 (`metrics record --emit-event`). Until then,
|
||||
use `hourly-metrics-health-sweep.md`.
|
||||
Enabled 2026-06-18 after activity-core event-payload resolver (ACTIVITY-WP-0011).
|
||||
Fallback: `weekly-metrics-health-sweep.md` at `0 6 * * 1`.
|
||||
|
||||
```rule
|
||||
id: flag-low-success-rate
|
||||
|
||||
40
activity-definitions/weekly-coach-orientation.md
Normal file
40
activity-definitions/weekly-coach-orientation.md
Normal file
@@ -0,0 +1,40 @@
|
||||
---
|
||||
id: coulomb-weekly-coach-orientation
|
||||
name: Weekly Kaizen Coach Orientation (coulomb-loop operate)
|
||||
enabled: true
|
||||
owner: coulomb-loop
|
||||
governance: coulomb_social
|
||||
status: proposed
|
||||
trigger:
|
||||
type: cron
|
||||
cron_expression: "0 9 * * 1"
|
||||
timezone: Europe/Berlin
|
||||
misfire_policy: skip
|
||||
context_sources:
|
||||
- type: kaizen
|
||||
query: discover_kaizen_scheduled_repos
|
||||
params:
|
||||
roster: /home/worsch/coulomb-loop/loops/kaizen-stack/roster.yaml
|
||||
cadence: weekly
|
||||
bind_to: context.scheduled_runs
|
||||
---
|
||||
|
||||
# Weekly Kaizen Coach Orientation
|
||||
|
||||
Operate phase per DEC-008. Cron `0 9 * * 1` Europe/Berlin.
|
||||
|
||||
```rule
|
||||
id: run-weekly-coach
|
||||
for_each: context.scheduled_runs
|
||||
bind_as: r
|
||||
condition: 'context.r.agent == "coach" and context.r.enabled'
|
||||
action:
|
||||
task_template: "Weekly coach orientation: {context.r.repo}"
|
||||
description: |
|
||||
{context.r.prepare_command}
|
||||
Load agents/agent-coach.md, execute coach synthesis.
|
||||
Session close: kaizen-agentic metrics record coach --success --time <s> --quality <0-1> --emit-event
|
||||
target_repo: context.r.repo
|
||||
priority: medium
|
||||
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`.
|
||||
42
activity-definitions/weekly-metrics-health-sweep.md
Normal file
42
activity-definitions/weekly-metrics-health-sweep.md
Normal file
@@ -0,0 +1,42 @@
|
||||
---
|
||||
id: coulomb-weekly-metrics-health-sweep
|
||||
name: Weekly Metrics Health Sweep (coulomb-loop backup)
|
||||
enabled: false
|
||||
owner: coulomb-loop
|
||||
governance: coulomb_social
|
||||
status: proposed
|
||||
trigger:
|
||||
type: cron
|
||||
cron_expression: "0 6 * * 1"
|
||||
timezone: Europe/Berlin
|
||||
misfire_policy: skip
|
||||
context_sources:
|
||||
- type: kaizen
|
||||
query: discover_kaizen_projects
|
||||
params:
|
||||
marker: .kaizen/metrics
|
||||
roster: /home/worsch/coulomb-loop/loops/kaizen-stack/roster.yaml
|
||||
bind_to: context.projects
|
||||
---
|
||||
|
||||
# Weekly Metrics Health Sweep (backup)
|
||||
|
||||
Operate-phase backup per LOOP-WP-0002. Primary path is event-driven
|
||||
`low-success-rate-review`; enable only if the event bus is down.
|
||||
|
||||
```rule
|
||||
id: flag-low-success-weekly
|
||||
for_each: context.projects
|
||||
bind_as: p
|
||||
condition: 'context.p.summary.success_rate < 0.8 and context.p.summary.execution_count >= 5'
|
||||
action:
|
||||
task_template: "Review {context.p.agent} success rate on {context.p.repo}"
|
||||
description: |
|
||||
Agent metrics below threshold on {context.p.repo}.
|
||||
kaizen-agentic metrics show <agent>
|
||||
kaizen-agentic metrics optimize <agent>
|
||||
Load agents/agent-optimization.md for review.
|
||||
target_repo: context.p.repo
|
||||
priority: high
|
||||
labels: ["kaizen", "quality-escalation", "coulomb-loop", "backup"]
|
||||
```
|
||||
41
activity-definitions/weekly-metrics-optimize.md
Normal file
41
activity-definitions/weekly-metrics-optimize.md
Normal file
@@ -0,0 +1,41 @@
|
||||
---
|
||||
id: coulomb-weekly-metrics-optimize
|
||||
name: Weekly Kaizen Metrics Optimization (coulomb-loop operate)
|
||||
enabled: true
|
||||
owner: coulomb-loop
|
||||
governance: coulomb_social
|
||||
status: proposed
|
||||
trigger:
|
||||
type: cron
|
||||
cron_expression: "0 8 * * 1"
|
||||
timezone: Europe/Berlin
|
||||
misfire_policy: skip
|
||||
context_sources:
|
||||
- type: kaizen
|
||||
query: discover_kaizen_projects
|
||||
params:
|
||||
marker: .kaizen/metrics
|
||||
roster: /home/worsch/coulomb-loop/loops/kaizen-stack/roster.yaml
|
||||
bind_to: context.projects
|
||||
---
|
||||
|
||||
# Weekly Kaizen Metrics Optimization
|
||||
|
||||
Operate phase per DEC-008. Pilot roster only (DEC-001 option A). Cron `0 8 * * 1`.
|
||||
|
||||
```rule
|
||||
id: run-weekly-optimizer
|
||||
for_each: context.projects
|
||||
bind_as: p
|
||||
condition: 'context.p.has_metrics and context.p.in_pilot_roster'
|
||||
action:
|
||||
task_template: "Run kaizen metrics optimize on {context.p.repo}"
|
||||
description: |
|
||||
cd {context.p.root} && kaizen-agentic metrics optimize
|
||||
Optional: kaizen-agentic metrics publish (when artifact-store configured)
|
||||
target_repo: context.p.repo
|
||||
priority: medium
|
||||
labels: ["kaizen", "metrics", "optimizer", "coulomb-loop", "operate"]
|
||||
```
|
||||
|
||||
**Supplier reference:** `kaizen-agentic/docs/integrations/activity-definitions/weekly-metrics-optimize.md`
|
||||
@@ -1,13 +1,13 @@
|
||||
---
|
||||
id: coulomb-hourly-optimization-review
|
||||
name: Hourly Kaizen Optimization Review (coulomb-loop bootstrap)
|
||||
enabled: false
|
||||
id: coulomb-weekly-optimization-review
|
||||
name: Weekly Kaizen Optimization Review (coulomb-loop operate)
|
||||
enabled: true
|
||||
owner: coulomb-loop
|
||||
governance: coulomb_social
|
||||
status: proposed
|
||||
trigger:
|
||||
type: cron
|
||||
cron_expression: "30 * * * *"
|
||||
cron_expression: "0 10 * * 1"
|
||||
timezone: Europe/Berlin
|
||||
misfire_policy: skip
|
||||
context_sources:
|
||||
@@ -15,26 +15,28 @@ context_sources:
|
||||
query: discover_kaizen_scheduled_repos
|
||||
params:
|
||||
roster: /home/worsch/coulomb-loop/loops/kaizen-stack/roster.yaml
|
||||
cadence: daily
|
||||
cadence: weekly
|
||||
bind_to: context.scheduled_runs
|
||||
---
|
||||
|
||||
# Hourly Kaizen Optimization Review (bootstrap)
|
||||
# Weekly Kaizen Optimization Review
|
||||
|
||||
Operate phase per DEC-008. Cron `0 10 * * 1` Europe/Berlin.
|
||||
|
||||
```rule
|
||||
id: run-hourly-optimization
|
||||
id: run-weekly-optimization
|
||||
for_each: context.scheduled_runs
|
||||
bind_as: r
|
||||
condition: 'r.agent == "optimization" and r.enabled == true'
|
||||
condition: 'context.r.agent == "optimization" and context.r.enabled'
|
||||
action:
|
||||
task_template: "Hourly optimization review: {{r.repo}}"
|
||||
task_template: "Weekly optimization review: {context.r.repo}"
|
||||
description: |
|
||||
{{r.prepare_command}}
|
||||
{context.r.prepare_command}
|
||||
kaizen-agentic metrics optimize
|
||||
Load agents/agent-optimization.md; act on recommendations.
|
||||
Session close: kaizen-agentic metrics record optimization --success --time <s> --quality <0-1>
|
||||
If saturation signals fire (ADR-004), file regulator rotation recommendation.
|
||||
target_repo: "{{r.repo}}"
|
||||
target_repo: context.r.repo
|
||||
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,23 +1,26 @@
|
||||
# activity-core Handoff — coulomb-loop Bootstrap
|
||||
|
||||
**Customer:** coulomb-loop
|
||||
**Status:** ready for activity-core PR/issue
|
||||
**Status:** weekly operate phase — synced 2026-06-19
|
||||
|
||||
## Prerequisites (done)
|
||||
|
||||
- [x] Pilot roster: `loops/kaizen-stack/roster.yaml`
|
||||
- [x] `.kaizen/schedule.yml` on kaizen-agentic, the-custodian, activity-core
|
||||
- [x] ActivityDefinition copies in `coulomb-loop/activity-definitions/` (all `enabled: false`)
|
||||
- [x] ActivityDefinition copies in `coulomb-loop/activity-definitions/`
|
||||
|
||||
## activity-core checklist
|
||||
|
||||
- [x] Implement `discover_kaizen_scheduled_repos` + `discover_kaizen_projects`
|
||||
(`activity_core/context_resolvers/kaizen.py`; types `kaizen` / `resolver` / `shell`)
|
||||
- [x] Dry-run: 6 `scheduled_runs` for pilot roster (2026-06-18)
|
||||
- [ ] Copy definitions from `coulomb-loop/activity-definitions/` to catalog
|
||||
- [ ] `make sync-activity-definitions`
|
||||
- [ ] Dry-run hourly chain (no `enabled: true` yet)
|
||||
- [ ] Enable `hourly-metrics-optimize` first after dry-run pass
|
||||
- [x] `ACTIVITY_DEFINITION_DIRS` includes coulomb-loop; `sync_activity_definitions` (7 upserted)
|
||||
- [x] Dev stack up (docker compose, alembic, worker + API on 8010)
|
||||
- [x] E2E manual trigger: metrics optimize → 6 tasks (2026-06-18)
|
||||
- [x] Enable daily kaizen stack — crons 08:00/09:00/10:00 (DEC-005)
|
||||
- [x] Bootstrap exit 3/3 E2E cycles; definition files renamed hourly→daily (2026-06-18)
|
||||
- [x] Promote to weekly operate phase (DEC-008, 2026-06-19); daily→weekly definition rename
|
||||
- [x] **Sync weekly definitions** — retired `coulomb-daily-*` disabled; `coulomb-weekly-*` upserted; Temporal schedules synced (2026-06-19)
|
||||
|
||||
## Smoke commands (pilot)
|
||||
|
||||
@@ -29,8 +32,35 @@ kaizen-agentic metrics optimize --target /home/worsch/kaizen-agentic
|
||||
|
||||
## Definition enable order
|
||||
|
||||
1. `hourly-metrics-optimize`
|
||||
2. `hourly-coach-orientation`
|
||||
3. `hourly-optimization-review`
|
||||
4. `hourly-metrics-health-sweep`
|
||||
5. `low-success-rate-review` (after KAIZEN-WP-0008 T03)
|
||||
1. `weekly-metrics-optimize` (enabled)
|
||||
2. `weekly-coach-orientation` (enabled)
|
||||
3. `weekly-optimization-review` (enabled)
|
||||
4. `low-success-rate-review` (enabled — event primary)
|
||||
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`).
|
||||
@@ -14,6 +14,21 @@
|
||||
| 2026-06-18T04:54 | activity-core | schedule prepare coach+optimization | pass | 6900/9643 bytes |
|
||||
|
||||
| 2026-06-18T05:00 | activity-core | discover_kaizen_scheduled_repos dry-run | pass | 6 runs (3 repos × 2 agents) |
|
||||
| 2026-06-18T06:07 | activity-core | dev stack up (docker compose, alembic, sync) | pass | 7 definitions upserted |
|
||||
| 2026-06-18T06:07 | coulomb-loop | enable hourly-metrics-optimize | pass | Temporal schedule upserted |
|
||||
| 2026-06-18T06:09 | activity-core | E2E trigger metrics-optimize (manual) | pass | 6 tasks spawned (3 repos × 2 agent metrics dirs) |
|
||||
| 2026-06-18T06:10 | all pilots | metrics record coach+optimization | pass | bootstrap session-close samples |
|
||||
| 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) |
|
||||
|
||||
**Bootstrap exit (single repo):** manual smoke pass; 0/3 consecutive hourly E2E cycles.
|
||||
**Next:** `make sync-activity-definitions` when ACTCORE_DB up; enable definitions one-by-one.
|
||||
| 2026-06-18T09:00 | activity-core | cron hourly-metrics-optimize | pass | 6 tasks (scheduled) |
|
||||
| 2026-06-18T09:15 | activity-core | cron hourly-coach-orientation | pass | 3 tasks |
|
||||
| 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
|
||||
phase: bootstrap
|
||||
cron: "0 * * * *"
|
||||
promoted_at: null
|
||||
phase: operate
|
||||
cron: "0 8 * * 1"
|
||||
chain:
|
||||
metrics: "0 8 * * 1"
|
||||
coach: "0 9 * * 1"
|
||||
optimization: "0 10 * * 1"
|
||||
promoted_at: "2026-06-19"
|
||||
demotion_count: 0
|
||||
regulator_approval: pending
|
||||
notes: Hourly chain — metrics :00, coach :15, optimization :30 (per-repo schedule.yml)
|
||||
regulator_approval: approved
|
||||
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
|
||||
decision: DEC-001 option A (2026-06-18)
|
||||
phase: bootstrap
|
||||
|
||||
# Repos currently receiving scheduled optimization/coach runs
|
||||
phase: operate
|
||||
active:
|
||||
- slug: kaizen-agentic
|
||||
root: /home/worsch/kaizen-agentic
|
||||
agents: [coach, optimization]
|
||||
status: active
|
||||
rationale: supplier dogfood
|
||||
- slug: the-custodian
|
||||
root: /home/worsch/the-custodian
|
||||
agents: [coach, optimization]
|
||||
status: active
|
||||
rationale: state-hub coordination operator
|
||||
- slug: activity-core
|
||||
root: /home/worsch/activity-core
|
||||
agents: [coach, optimization]
|
||||
status: active
|
||||
rationale: scheduler owner
|
||||
|
||||
# Ordered candidates after pilot — promoted by regulator (ADR-004)
|
||||
- slug: kaizen-agentic
|
||||
root: /home/worsch/kaizen-agentic
|
||||
agents:
|
||||
- coach
|
||||
- optimization
|
||||
status: active
|
||||
rationale: supplier dogfood
|
||||
- slug: the-custodian
|
||||
root: /home/worsch/the-custodian
|
||||
agents:
|
||||
- coach
|
||||
- optimization
|
||||
status: active
|
||||
rationale: state-hub coordination operator
|
||||
- slug: activity-core
|
||||
root: /home/worsch/activity-core
|
||||
agents:
|
||||
- coach
|
||||
- optimization
|
||||
status: active
|
||||
rationale: scheduler owner
|
||||
expansion_queue:
|
||||
- slug: reuse-surface
|
||||
agents: [coach, optimization, scope-analyst]
|
||||
domain: helix_forge
|
||||
- slug: vergabe-teilnahme
|
||||
agents: [coach, scope-analyst]
|
||||
domain: coulomb_social
|
||||
|
||||
# Repos paused after diminishing-returns detection (ADR-004)
|
||||
saturated: []
|
||||
- slug: reuse-surface
|
||||
agents:
|
||||
- coach
|
||||
- optimization
|
||||
- scope-analyst
|
||||
domain: helix_forge
|
||||
- slug: vergabe-teilnahme
|
||||
agents:
|
||||
- coach
|
||||
- scope-analyst
|
||||
domain: coulomb_social
|
||||
saturated: []
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
# Supplier Notes (kaizen-agentic friction log)
|
||||
|
||||
| Date | Observation | Suggested supplier fix |
|
||||
|------|-------------|------------------------|
|
||||
| 2026-06-18 | `schedule init` defaults weekly; bootstrap needs manual cron patch | KAIZEN-WP-0008 `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 | No `--emit-event` yet for LOOP-WP-0002 | KAIZEN-WP-0008 T03 |
|
||||
| 2026-06-18 | Rotation signals need aggregator CLI | KAIZEN-WP-0008 ADR-004 follow-on `metrics rotation-signals` |
|
||||
| Date | Observation | Status |
|
||||
|------|-------------|--------|
|
||||
| 2026-06-18 | `schedule init` defaults weekly; bootstrap needs manual cron patch | **Shipped** — `schedule init --engagement --bootstrap-cadence hourly` |
|
||||
| 2026-06-18 | `metrics optimize` with 0 records during bootstrap | **Documented** — playbook v1; expected until ≥10 records |
|
||||
| 2026-06-18 | No `--emit-event` for LOOP-WP-0002 | **Shipped** — `metrics record --emit-event` |
|
||||
| 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
|
||||
phase: bootstrap
|
||||
cron: "45 * * * *"
|
||||
regulator_approval: pending
|
||||
phase: operate
|
||||
cron: "0 6 * * 1"
|
||||
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
|
||||
|
||||
bootstrap:
|
||||
mechanism: hourly_sweep
|
||||
definition: hourly-metrics-health-sweep
|
||||
mechanism: daily_sweep_backup
|
||||
definition: weekly-metrics-health-sweep
|
||||
stabilize:
|
||||
mechanism: event_primary
|
||||
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
|
||||
updated: '2026-06-16'
|
||||
domain: helix_forge
|
||||
capabilities: []
|
||||
updated: '2026-06-18'
|
||||
domain: coulomb_social
|
||||
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
|
||||
type: workplan
|
||||
title: "Engagement bootstrap (registration, assessment, governance)"
|
||||
domain: coulomb_social
|
||||
domain: communication
|
||||
repo: coulomb-loop
|
||||
status: active
|
||||
status: done
|
||||
owner: coulomb-loop
|
||||
topic_slug: coulomb_social
|
||||
topic_slug: coulomb-social
|
||||
supplier: kaizen-agentic
|
||||
created: "2026-06-18"
|
||||
updated: "2026-06-18"
|
||||
@@ -34,14 +34,14 @@ tasks:
|
||||
status: done
|
||||
title: Fill SCOPE.md and .claude/rules integration stubs
|
||||
- id: T08
|
||||
status: todo
|
||||
status: done
|
||||
title: Register reuse-surface capability entry for loop orchestration
|
||||
state_hub_workstream_id: "0df6df54-4313-4c2d-93f2-dc6844fe47ec"
|
||||
---
|
||||
|
||||
# LOOP-WP-0000 — Engagement Bootstrap
|
||||
|
||||
**Status:** active
|
||||
**Status:** done
|
||||
**Owner:** coulomb-loop
|
||||
**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
|
||||
id: LOOP-WP-0000-T08
|
||||
status: todo
|
||||
status: done
|
||||
priority: low
|
||||
state_hub_task_id: "54f5e683-0081-4db1-abdb-4f57323f840e"
|
||||
```
|
||||
|
||||
Add capability row for fleet loop orchestration engagement (D0 scaffold).
|
||||
Run `reuse-surface validate` when entry drafted.
|
||||
`capability.coulomb_social.loop-orchestrate` at D0 in `registry/capabilities/`.
|
||||
Index updated; `reuse-surface validate` passes (2026-06-18).
|
||||
|
||||
## Definition of done
|
||||
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
id: LOOP-WP-0001
|
||||
type: workplan
|
||||
title: "Kaizen Improvement Stack (coach + metrics + optimization)"
|
||||
domain: coulomb_social
|
||||
domain: communication
|
||||
repo: coulomb-loop
|
||||
status: active
|
||||
status: done
|
||||
owner: coulomb-loop
|
||||
topic_slug: coulomb_social
|
||||
topic_slug: coulomb-social
|
||||
supplier: kaizen-agentic
|
||||
created: "2026-06-18"
|
||||
updated: "2026-06-18"
|
||||
@@ -31,17 +31,17 @@ tasks:
|
||||
status: done
|
||||
title: Hourly bootstrap smoke test on single pilot repo
|
||||
- id: T07
|
||||
status: todo
|
||||
status: done
|
||||
title: Expand pilot to three repos and record metrics at session close
|
||||
- id: T08
|
||||
status: todo
|
||||
status: done
|
||||
title: Promote cadence to daily after bootstrap exit criteria met
|
||||
state_hub_workstream_id: "90a05147-7b95-4ce7-96bf-39cdb487b557"
|
||||
---
|
||||
|
||||
# LOOP-WP-0001 — Kaizen Improvement Stack
|
||||
|
||||
**Status:** active
|
||||
**Status:** done
|
||||
**Owner:** coulomb-loop (customer)
|
||||
**Supplier:** kaizen-agentic
|
||||
**Repo:** coulomb-loop
|
||||
@@ -227,11 +227,14 @@ without manual intervention.
|
||||
|
||||
```task
|
||||
id: LOOP-WP-0001-T07
|
||||
status: todo
|
||||
status: done
|
||||
priority: medium
|
||||
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:
|
||||
|
||||
```bash
|
||||
@@ -245,11 +248,15 @@ kaizen-agentic metrics record optimization --success --time <s> --quality <0-1>
|
||||
|
||||
```task
|
||||
id: LOOP-WP-0001-T08
|
||||
status: todo
|
||||
status: done
|
||||
priority: low
|
||||
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:
|
||||
|
||||
1. Update pilot `schedule.yml` crons to daily (`0 8`, `0 9`, `0 10`)
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
id: LOOP-WP-0002
|
||||
type: workplan
|
||||
title: "Reactive Quality Escalation (signal-driven improvement)"
|
||||
domain: coulomb_social
|
||||
domain: communication
|
||||
repo: coulomb-loop
|
||||
status: active
|
||||
status: finished
|
||||
owner: coulomb-loop
|
||||
topic_slug: coulomb_social
|
||||
topic_slug: coulomb-social
|
||||
supplier: kaizen-agentic
|
||||
created: "2026-06-18"
|
||||
updated: "2026-06-18"
|
||||
@@ -20,26 +20,26 @@ tasks:
|
||||
status: done
|
||||
title: Draft low-success-rate ActivityDefinition for coulomb-loop
|
||||
- id: T03
|
||||
status: todo
|
||||
status: done
|
||||
title: Specify kaizen.metrics.recorded event emitter contract
|
||||
- id: T04
|
||||
status: todo
|
||||
status: done
|
||||
title: Hourly metrics sweep fallback until event bus is live
|
||||
- id: T05
|
||||
status: todo
|
||||
status: done
|
||||
title: Wire activity-core event trigger and smoke test
|
||||
- id: T06
|
||||
status: todo
|
||||
status: done
|
||||
title: Add test-maintenance escalation path for CI-degraded repos
|
||||
- id: T07
|
||||
status: todo
|
||||
status: done
|
||||
title: Promote sweep cadence from hourly to daily after stabilization
|
||||
state_hub_workstream_id: "d4d3b624-dad3-4e1d-9db3-e84548d133de"
|
||||
---
|
||||
|
||||
# LOOP-WP-0002 — Reactive Quality Escalation
|
||||
|
||||
**Status:** active
|
||||
**Status:** finished
|
||||
**Owner:** coulomb-loop (customer)
|
||||
**Supplier:** kaizen-agentic
|
||||
**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
|
||||
id: LOOP-WP-0002-T01
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "f6f549e5-0d67-49b8-8165-346c64000696"
|
||||
```
|
||||
@@ -100,7 +100,7 @@ rationale. Align with supplier `low-success-rate-review` defaults (0.8, min 5).
|
||||
|
||||
```task
|
||||
id: LOOP-WP-0002-T02
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "a19c2ade-029d-4b1c-ba08-8fd82729e649"
|
||||
```
|
||||
@@ -119,11 +119,14 @@ Adjust:
|
||||
|
||||
```task
|
||||
id: LOOP-WP-0002-T03
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "6dbdb335-9c1d-4db0-ad7d-4342c966cd47"
|
||||
```
|
||||
|
||||
Completed 2026-06-18: `loops/quality-escalation/event-payload.md`; supplier shipped
|
||||
`metrics record --emit-event`. activity-core R1 posted to state-hub.
|
||||
|
||||
Document expected NATS payload in `loops/quality-escalation/event-payload.md`:
|
||||
|
||||
```json
|
||||
@@ -148,11 +151,14 @@ implementation stays in kaizen-agentic.
|
||||
|
||||
```task
|
||||
id: LOOP-WP-0002-T04
|
||||
status: todo
|
||||
status: done
|
||||
priority: medium
|
||||
state_hub_task_id: "604a9515-0f6b-47e4-8a37-6bfc374ca4f3"
|
||||
```
|
||||
|
||||
Completed 2026-06-18: `hourly-metrics-health-sweep.md` synced (disabled). Enable
|
||||
after event path smoke or as fallback per DEC-002.
|
||||
|
||||
Draft `coulomb-loop/activity-definitions/hourly-metrics-health-sweep.md`:
|
||||
|
||||
- Resolver: shell `discover_kaizen_projects` with marker `.kaizen/metrics`
|
||||
@@ -166,18 +172,19 @@ Cron: `45 * * * *` (offset from LOOP-WP-0001 hourly chain).
|
||||
|
||||
```task
|
||||
id: LOOP-WP-0002-T05
|
||||
status: todo
|
||||
status: done
|
||||
priority: medium
|
||||
state_hub_task_id: "a5d8a6e1-9908-49a5-8976-900c433cd325"
|
||||
```
|
||||
|
||||
1. Sync sweep definition to activity-core
|
||||
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
|
||||
Completed 2026-06-18 after activity-core ACTIVITY-WP-0011 event-payload resolver:
|
||||
|
||||
When event bus is ready, enable `low-success-rate-review` and keep sweep as
|
||||
backup only.
|
||||
1. `low-success-rate-review` enabled and synced (`da7a9af7-7bec-5677-9520-3c6ee6d01964`)
|
||||
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
|
||||
|
||||
@@ -185,11 +192,13 @@ backup only.
|
||||
|
||||
```task
|
||||
id: LOOP-WP-0002-T06
|
||||
status: todo
|
||||
status: done
|
||||
priority: low
|
||||
state_hub_task_id: "206d33c2-0a8a-4274-8361-f69291f11b94"
|
||||
```
|
||||
|
||||
Completed 2026-06-18: `hourly-ci-health-escalation.md` (disabled; CI probe resolver deferred).
|
||||
|
||||
Draft `hourly-ci-health-escalation.md` (bootstrap) / `daily-ci-health-escalation.md`
|
||||
(stabilize):
|
||||
|
||||
@@ -204,16 +213,16 @@ Defer full fleet CI integration until daily phase.
|
||||
|
||||
```task
|
||||
id: LOOP-WP-0002-T07
|
||||
status: todo
|
||||
status: done
|
||||
priority: low
|
||||
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
|
||||
2. Enable event-driven `low-success-rate-review`
|
||||
3. Retain daily backup sweep at `0 6 * * *`
|
||||
1. Hourly sweep retired (`enabled: false`, cron promoted to `0 6 * * *`)
|
||||
2. Event-driven `low-success-rate-review` primary (`enabled: true`)
|
||||
3. `loops/quality-escalation/cadence.yml` → `phase: stabilize`
|
||||
|
||||
## Definition of done
|
||||
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
id: LOOP-WP-0003
|
||||
type: workplan
|
||||
title: "Registry & Orientation Hygiene (fleet legibility)"
|
||||
domain: coulomb_social
|
||||
domain: communication
|
||||
repo: coulomb-loop
|
||||
status: active
|
||||
status: done
|
||||
owner: coulomb-loop
|
||||
topic_slug: coulomb_social
|
||||
topic_slug: coulomb-social
|
||||
supplier: kaizen-agentic
|
||||
created: "2026-06-18"
|
||||
updated: "2026-06-18"
|
||||
@@ -14,32 +14,32 @@ depends_on:
|
||||
- LOOP-WP-0001
|
||||
tasks:
|
||||
- id: T01
|
||||
status: todo
|
||||
status: done
|
||||
title: Define hygiene signals and domain rollout order
|
||||
- id: T02
|
||||
status: todo
|
||||
status: done
|
||||
title: Create hourly registry gap sweep ActivityDefinition
|
||||
- id: T03
|
||||
status: todo
|
||||
status: done
|
||||
title: Create scope-analyst orientation task template
|
||||
- id: T04
|
||||
status: todo
|
||||
status: done
|
||||
title: Integrate state-hub SBOM staleness with hygiene roster
|
||||
- id: T05
|
||||
status: todo
|
||||
status: done
|
||||
title: Hourly bootstrap on custodian-domain pilot slice
|
||||
- id: T06
|
||||
status: todo
|
||||
status: done
|
||||
title: Expand to next domain batch after pilot exit
|
||||
- id: T07
|
||||
status: todo
|
||||
status: done
|
||||
title: Promote cadence to daily then weekly
|
||||
state_hub_workstream_id: "f3a4b60a-7bc2-400d-bf8a-e7209a9e45c4"
|
||||
---
|
||||
|
||||
# LOOP-WP-0003 — Registry & Orientation Hygiene
|
||||
|
||||
**Status:** active
|
||||
**Status:** done
|
||||
**Owner:** coulomb-loop (customer)
|
||||
**Supplier:** kaizen-agentic (`scope-analyst` agent)
|
||||
**Partner:** reuse-surface (CLI), state-hub (SBOM status)
|
||||
@@ -100,7 +100,7 @@ hour), not full fleet scan.
|
||||
|
||||
```task
|
||||
id: LOOP-WP-0003-T01
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "cacc914e-85e6-4067-b39d-cf8a3ae91320"
|
||||
```
|
||||
@@ -115,7 +115,7 @@ Create:
|
||||
|
||||
```task
|
||||
id: LOOP-WP-0003-T02
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "7c6b15cd-a5ac-4602-956f-61de72a55fef"
|
||||
```
|
||||
@@ -150,7 +150,7 @@ reuse-surface establish --publish-check # when registry touched
|
||||
|
||||
```task
|
||||
id: LOOP-WP-0003-T03
|
||||
status: todo
|
||||
status: done
|
||||
priority: medium
|
||||
state_hub_task_id: "e8eb2700-8ef5-43fb-8d2e-ec080fa86f6f"
|
||||
```
|
||||
@@ -165,11 +165,13 @@ file state-hub progress event.
|
||||
|
||||
```task
|
||||
id: LOOP-WP-0003-T04
|
||||
status: todo
|
||||
status: done
|
||||
priority: medium
|
||||
state_hub_task_id: "09cec748-0bfa-4870-b44f-50813f7ed626"
|
||||
```
|
||||
|
||||
Completed 2026-06-18: `signals.yml` sbom_handoff section delegates to weekly-sbom-staleness.
|
||||
|
||||
Document handoff with existing `activity-core/weekly-sbom-staleness`:
|
||||
|
||||
- Do not duplicate SBOM rescans in this loop
|
||||
@@ -182,11 +184,14 @@ Add cross-reference in `loops/registry-hygiene/signals.yml`.
|
||||
|
||||
```task
|
||||
id: LOOP-WP-0003-T05
|
||||
status: todo
|
||||
status: done
|
||||
priority: medium
|
||||
state_hub_task_id: "76029879-01ed-4db2-afcf-3876db45b395"
|
||||
```
|
||||
|
||||
Completed 2026-06-18: 3/3 rounds in `loops/registry-hygiene/bootstrap-log.md`;
|
||||
`hygiene-roster.yaml` + `reuse-surface report gaps` + validate on all pilots.
|
||||
|
||||
Pilot batch: `kaizen-agentic`, `the-custodian`, `activity-core`.
|
||||
|
||||
Manual smoke test (before activity-core enable):
|
||||
@@ -203,11 +208,13 @@ reuse-surface validate # in target repo
|
||||
|
||||
```task
|
||||
id: LOOP-WP-0003-T06
|
||||
status: todo
|
||||
status: done
|
||||
priority: low
|
||||
state_hub_task_id: "f6e5a9d5-2c32-439d-9e95-aa6d6fd3c6ab"
|
||||
```
|
||||
|
||||
Completed 2026-06-18: `helix_forge` + `reuse-surface` active in `rollout.yaml`.
|
||||
|
||||
After regulator approval, add helix_forge domain to rollout. Increase batch size
|
||||
when false-positive rate stays below 20%.
|
||||
|
||||
@@ -215,11 +222,14 @@ when false-positive rate stays below 20%.
|
||||
|
||||
```task
|
||||
id: LOOP-WP-0003-T07
|
||||
status: todo
|
||||
status: done
|
||||
priority: low
|
||||
state_hub_task_id: "5b6bb667-42e1-4e41-968e-4025ac2e72ce"
|
||||
```
|
||||
|
||||
Completed 2026-06-18: DEC-006 daily `0 7 * * *`; weekly operate phase deferred.
|
||||
Definition cron updated; activity-core sync pending.
|
||||
|
||||
| Promotion | Condition |
|
||||
|-----------|-----------|
|
||||
| hourly → daily | bootstrap exit + LOOP-WP-0004 approval |
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
id: LOOP-WP-0004
|
||||
type: workplan
|
||||
title: "Loop Regulator (second-order improvement)"
|
||||
domain: coulomb_social
|
||||
domain: communication
|
||||
repo: coulomb-loop
|
||||
status: active
|
||||
status: done
|
||||
owner: coulomb-loop
|
||||
topic_slug: coulomb_social
|
||||
topic_slug: coulomb-social
|
||||
supplier: kaizen-agentic
|
||||
created: "2026-06-18"
|
||||
updated: "2026-06-18"
|
||||
@@ -22,32 +22,32 @@ tasks:
|
||||
status: done
|
||||
title: Create loops/ directory structure and cadence.yml per loop
|
||||
- id: T03
|
||||
status: todo
|
||||
status: done
|
||||
title: Draft hourly loop-health-collector ActivityDefinition
|
||||
- id: T04
|
||||
status: todo
|
||||
status: done
|
||||
title: Draft optimization-agent regulator session template
|
||||
- id: T05
|
||||
status: todo
|
||||
status: done
|
||||
title: Hourly bootstrap — collect metrics from all three primary loops
|
||||
- id: T06
|
||||
status: todo
|
||||
status: done
|
||||
title: First cadence promotion decision on LOOP-WP-0001
|
||||
- id: T07
|
||||
status: todo
|
||||
status: done
|
||||
title: Publish supplier customer-repo playbook draft to kaizen-agentic
|
||||
- id: T08
|
||||
status: todo
|
||||
status: done
|
||||
title: Promote regulator from hourly to daily after meta-loop stabilizes
|
||||
- id: T09
|
||||
status: todo
|
||||
status: done
|
||||
title: Implement diminishing-returns detection and repo rotation per ADR-004
|
||||
state_hub_workstream_id: "08970648-dbd8-48f6-9b3a-72f196013089"
|
||||
---
|
||||
|
||||
# LOOP-WP-0004 — Loop Regulator (Second-Order Improvement)
|
||||
|
||||
**Status:** active
|
||||
**Status:** done
|
||||
**Owner:** coulomb-loop (customer)
|
||||
**Supplier:** kaizen-agentic (`optimization`, `tooling-optimization`)
|
||||
**Depends on:** LOOP-WP-0001, LOOP-WP-0002, LOOP-WP-0003
|
||||
@@ -131,7 +131,7 @@ regulator_approval: pending
|
||||
|
||||
```task
|
||||
id: LOOP-WP-0004-T01
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "d3a9aa4c-ff72-4a09-a545-fa5171768126"
|
||||
```
|
||||
@@ -143,7 +143,7 @@ Cross-reference INTENT.md cadence ramp policy.
|
||||
|
||||
```task
|
||||
id: LOOP-WP-0004-T02
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "3ae8f36f-6d6f-4db0-846c-d34a3c4010fe"
|
||||
```
|
||||
@@ -180,11 +180,13 @@ Initialize `cadence.yml` for each loop at `phase: bootstrap`, hourly cron.
|
||||
|
||||
```task
|
||||
id: LOOP-WP-0004-T03
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "734c76b6-9d34-4fdf-b928-b678578a063a"
|
||||
```
|
||||
|
||||
Completed 2026-06-18: definition drafted (disabled); manual collection via T05.
|
||||
|
||||
Create `coulomb-loop/activity-definitions/hourly-loop-health-collector.md`:
|
||||
|
||||
- Cron: `50 * * * *` (after other hourly loops)
|
||||
@@ -197,11 +199,13 @@ Create `coulomb-loop/activity-definitions/hourly-loop-health-collector.md`:
|
||||
|
||||
```task
|
||||
id: LOOP-WP-0004-T04
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "e417226b-4175-44b3-8284-7255569e956b"
|
||||
```
|
||||
|
||||
Completed 2026-06-18: `loops/regulator/session-template.md`.
|
||||
|
||||
Create `loops/regulator/session-template.md`:
|
||||
|
||||
```bash
|
||||
@@ -224,11 +228,13 @@ Record: `kaizen-agentic metrics record optimization --success ...`
|
||||
|
||||
```task
|
||||
id: LOOP-WP-0004-T05
|
||||
status: todo
|
||||
status: done
|
||||
priority: medium
|
||||
state_hub_task_id: "9d4dc665-15e6-47e4-9f1c-aa9adff5783d"
|
||||
```
|
||||
|
||||
Completed 2026-06-18: manual health.jsonl snapshots + `loops/regulator/dashboard.md`.
|
||||
|
||||
Run collector manually for first 3 cycles before activity-core enable.
|
||||
Verify `health.jsonl` entries and dashboard regeneration.
|
||||
|
||||
@@ -236,11 +242,13 @@ Verify `health.jsonl` entries and dashboard regeneration.
|
||||
|
||||
```task
|
||||
id: LOOP-WP-0004-T06
|
||||
status: todo
|
||||
status: done
|
||||
priority: medium
|
||||
state_hub_task_id: "e8fb9e66-2212-4c6d-b947-2c22d32f1c53"
|
||||
```
|
||||
|
||||
Completed 2026-06-18: DEC-005 accepted; kaizen-stack promoted to stabilize (LOOP-WP-0001 T08).
|
||||
|
||||
When LOOP-WP-0001 bootstrap exit is met:
|
||||
|
||||
1. Run regulator session
|
||||
@@ -254,11 +262,13 @@ First promotion is the **proof of second-order value**.
|
||||
|
||||
```task
|
||||
id: LOOP-WP-0004-T07
|
||||
status: todo
|
||||
status: done
|
||||
priority: medium
|
||||
state_hub_task_id: "9600bd31-5d85-4623-98f9-e50ec56cde3d"
|
||||
```
|
||||
|
||||
Completed 2026-06-18: draft committed; absorbed in kaizen-agentic playbook v1.
|
||||
|
||||
Synthesize `loops/regulator/supplier-playbook-draft.md` covering:
|
||||
|
||||
- Minimal customer repo layout (INTENT, workplans, loops/, activity-definitions/)
|
||||
@@ -274,11 +284,13 @@ supplier repo. **This is the reuse outcome of the entire engagement.**
|
||||
|
||||
```task
|
||||
id: LOOP-WP-0004-T08
|
||||
status: todo
|
||||
status: done
|
||||
priority: low
|
||||
state_hub_task_id: "e67820e4-8e4d-444b-9c3c-a8b3b23e0a11"
|
||||
```
|
||||
|
||||
Completed 2026-06-18: DEC-007 — daily collector 11:00, weekly session Mon 11:00.
|
||||
|
||||
After 1 week of hourly regulator runs with stable recommendations:
|
||||
|
||||
- Collector: hourly → daily (`0 11 * * *`)
|
||||
@@ -289,11 +301,14 @@ After 1 week of hourly regulator runs with stable recommendations:
|
||||
|
||||
```task
|
||||
id: LOOP-WP-0004-T09
|
||||
status: todo
|
||||
status: done
|
||||
priority: medium
|
||||
state_hub_task_id: "431ebe91-3a6f-475f-a862-a784dbbe29b4"
|
||||
```
|
||||
|
||||
Completed 2026-06-18: `rotation-runbook.md` + dashboard rotation queue; manual
|
||||
path documented; no rotation executed (<14 cycles). Supplier CLI follow-on.
|
||||
|
||||
Implement saturation detection per `loops/regulator/rotation-policy.yml`:
|
||||
|
||||
1. Extend health collector to compute `saturation_score` per active repo
|
||||
|
||||
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