Bootstrap coulomb-loop engagement: governance, loops, and activity definitions.

Register with state-hub, accept DEC-001–004 and ADR-004 rotation policy, scaffold
pilot roster, hourly ActivityDefinition copies, and bootstrap log after schedule
init on three custodian pilot repos.
This commit is contained in:
2026-06-18 04:53:51 +02:00
parent d09a5722d5
commit e783dc9a2b
40 changed files with 2783 additions and 0 deletions

View File

@@ -0,0 +1,246 @@
---
id: LOOP-WP-0003
type: workplan
title: "Registry & Orientation Hygiene (fleet legibility)"
domain: coulomb_social
repo: coulomb-loop
status: active
owner: coulomb-loop
topic_slug: coulomb_social
supplier: kaizen-agentic
created: "2026-06-18"
updated: "2026-06-18"
depends_on:
- LOOP-WP-0001
tasks:
- id: T01
status: todo
title: Define hygiene signals and domain rollout order
- id: T02
status: todo
title: Create hourly registry gap sweep ActivityDefinition
- id: T03
status: todo
title: Create scope-analyst orientation task template
- id: T04
status: todo
title: Integrate state-hub SBOM staleness with hygiene roster
- id: T05
status: todo
title: Hourly bootstrap on custodian-domain pilot slice
- id: T06
status: todo
title: Expand to next domain batch after pilot exit
- id: T07
status: todo
title: Promote cadence to daily then weekly
state_hub_workstream_id: "f3a4b60a-7bc2-400d-bf8a-e7209a9e45c4"
---
# LOOP-WP-0003 — Registry & Orientation Hygiene
**Status:** active
**Owner:** coulomb-loop (customer)
**Supplier:** kaizen-agentic (`scope-analyst` agent)
**Partner:** reuse-surface (CLI), state-hub (SBOM status)
## Goal
Prevent **fleet legibility drift** across 56 state-hub repos and 53 reuse-surface
registries. Agents and planners can only improve what they can see; this loop
keeps `SCOPE.md`, capability entries, and SBOM metadata current.
```mermaid
flowchart LR
SH[state-hub repo roster]
RS[reuse-surface report gaps]
SBOM[repo_sbom_status]
SA[schedule prepare scope-analyst]
VAL[reuse-surface validate]
SH --> RS
SH --> SBOM
RS --> SA --> VAL
```
## Hygiene signals
| Signal | Source | Action |
|--------|--------|--------|
| Registry gap | `reuse-surface report gaps` | `scope-analyst` + `establish --publish-check` |
| Empty capability scaffold | federation roster `capability_count: 0` | draft capability entry or mark intentional |
| Stale SCOPE | `SCOPE.md` mtime > 90d or missing | `scope-analyst` refresh |
| Stale SBOM | `sbom_age_days > 30` (state-hub) | flag + link to existing activity-core SBOM job |
| Publish check fail | `publish_check: fail` in federation roster | registry fix task |
Signals documented in `loops/registry-hygiene/signals.yml`.
## Domain rollout order
Bootstrap processes **small batches** to avoid task storms:
1. **custodian** (11 repos) — aligns with LOOP-WP-0001 pilots
2. **helix_forge** (4 repos) — reuse-surface home domain
3. **stack** (3 repos) — artifact-store, open-reuse
4. Remaining domains — one per weekly cycle after daily stabilization
## Cadence ramp
| Phase | Cron | Batch size |
|-------|------|------------|
| Bootstrap | `0 * * * *` (hourly) | 3 repos per run (round-robin) |
| Stabilize | `0 7 * * *` (daily) | 1 domain per day |
| Operate | `0 9 * * 1` (weekly Mon) | 12 domains per week |
Hourly bootstrap uses **round-robin** across custodian pilot slice (3 repos per
hour), not full fleet scan.
## Part 1 — Signal and template setup
## Define hygiene signals and rollout order
```task
id: LOOP-WP-0003-T01
status: todo
priority: high
state_hub_task_id: "cacc914e-85e6-4067-b39d-cf8a3ae91320"
```
Create:
- `loops/registry-hygiene/signals.yml`
- `loops/registry-hygiene/rollout.yaml` (domain order + repo slugs)
- `loops/registry-hygiene/round-robin-state.json` (cursor for hourly batching)
## Hourly registry gap sweep ActivityDefinition
```task
id: LOOP-WP-0003-T02
status: todo
priority: high
state_hub_task_id: "7c6b15cd-a5ac-4602-956f-61de72a55fef"
```
Create `coulomb-loop/activity-definitions/hourly-registry-hygiene-sweep.md`:
```yaml
trigger:
cron_expression: "20 * * * *"
context_sources:
- type: state-hub
query: repo_sbom_status
bind_to: context.repos
- type: shell
query: reuse_surface_report_gaps
params:
roster: coulomb-loop/loops/registry-hygiene/rollout.yaml
bind_to: context.gaps
```
Rule: for each repo in current hourly batch with any hygiene signal, create task:
```
kaizen-agentic schedule prepare scope-analyst
reuse-surface validate
reuse-surface establish --publish-check # when registry touched
```
`enabled: false` until shell resolver wrapper exists in activity-core.
## scope-analyst orientation template
```task
id: LOOP-WP-0003-T03
status: todo
priority: medium
state_hub_task_id: "e8eb2700-8ef5-43fb-8d2e-ec080fa86f6f"
```
Create `loops/registry-hygiene/session-template.md` — standard task description
for scope-analyst sessions: read SCOPE, compare to INTENT, update registry index,
file state-hub progress event.
## Part 2 — Integration
## Integrate SBOM staleness with hygiene roster
```task
id: LOOP-WP-0003-T04
status: todo
priority: medium
state_hub_task_id: "09cec748-0bfa-4870-b44f-50813f7ed626"
```
Document handoff with existing `activity-core/weekly-sbom-staleness`:
- Do not duplicate SBOM rescans in this loop
- Hygiene task **links** to SBOM job when `sbom_age_days > 30`
- Shared label: `fleet-hygiene`
Add cross-reference in `loops/registry-hygiene/signals.yml`.
## Hourly bootstrap on custodian pilot slice
```task
id: LOOP-WP-0003-T05
status: todo
priority: medium
state_hub_task_id: "76029879-01ed-4db2-afcf-3876db45b395"
```
Pilot batch: `kaizen-agentic`, `the-custodian`, `activity-core`.
Manual smoke test (before activity-core enable):
```bash
reuse-surface report gaps --roster <rollout.yaml>
kaizen-agentic schedule prepare scope-analyst --target /home/worsch/kaizen-agentic
reuse-surface validate # in target repo
```
**Bootstrap exit:** 3 hourly rounds complete without duplicate tasks for same repo+signal.
## Expand domain batch
```task
id: LOOP-WP-0003-T06
status: todo
priority: low
state_hub_task_id: "f6e5a9d5-2c32-439d-9e95-aa6d6fd3c6ab"
```
After regulator approval, add helix_forge domain to rollout. Increase batch size
when false-positive rate stays below 20%.
## Promote cadence
```task
id: LOOP-WP-0003-T07
status: todo
priority: low
state_hub_task_id: "5b6bb667-42e1-4e41-968e-4025ac2e72ce"
```
| Promotion | Condition |
|-----------|-----------|
| hourly → daily | bootstrap exit + LOOP-WP-0004 approval |
| daily → weekly | 2 weeks daily with &lt; 10% repeat tasks for same signal |
Update activity-core definitions and `loops/registry-hygiene/cadence.yml`.
## Definition of done
- Hygiene sweep creates actionable scope-analyst tasks on pilot repos
- reuse-surface validate passes after hygiene session on at least one repo
- SBOM staleness delegated to existing activity-core job (no duplicate work)
- Domain rollout order and cadence ramp documented
## Out of scope
- Implementing `reuse-surface report gaps` resolver in coulomb-loop
- Mandatory capability maturity promotion (planning-only in bootstrap)
- Full 56-repo hourly scan
## Supplier feedback
Document whether `scope-analyst` needs engagement-specific briefing template.
Feed reuse-surface + kaizen-agentic supplier playbook.