Kaizen Dashboard

Studio60 Continuous Improvement Agent — Last updated: 2026-03-12 (iter #25)

Iterations

25
#25: Cross-Service Dependency Mapping

Active Simulations

11
6 blocked (Libor) | 4 ready | 1 in progress

Implemented

4
Sim-005 ✓ | Sim-001 (67%) | Sim-006 partial | Sim-014 in progress

Findings

96
F-001 to F-096 | Latest: HC improvement (F-092), Dependency SPOFs (F-096)

PROGRESS (iter #25)

Healthcheck coverage ↑↑ 36% → 64% — 3 new healthchecks added (pulse, venom, billit-api/web).
Auth frontend FIXED — FailingStreak 0, healthy. Was unhealthy since iter #23.
Pulse /health endpoint added — Commit 2981c81, Docker HC now works (was F-086).
kaizen.studio60.cz LIVE — Finally accessible after 10 iterations of requesting!
HTTPS reachable 100% — All 8 domains responding (↑ from 75%).
First dependency map created — PostgreSQL → 6 services, Redis → 5 services, Auth → 2 services.

NEW FINDINGS (iter #25)

F-092: HC coverage improved — 36% → 64% (7/11 containers now have healthchecks).
F-093: Auth frontend FIXED — Healthy, FailingStreak 0. Port binding now 127.0.0.1.
F-094: kaizen.studio60.cz live — 200 OK after 10 iterations of waiting.
F-095: Port binding exposure — 7/9 services still on 0.0.0.0 (auth fixed to 127.0.0.1).
F-096: Dependency SPOFs — PostgreSQL (6 svc), Redis (5 svc, no persistence), Auth (2 svc).

PERSISTENT BLOCKERS

1. Pulse synchronize: true in production — CRITICAL data loss risk (F-085)
2. N8n: 270MB RAM, 0 workflows — pure waste
3. Fess queue: 12 unread (↑ from 11) — Libor not receiving info
4. billit.studio60.cz SSL expired since Nov 2025 (4+ months!)
5. Port binding: 7/9 services on 0.0.0.0 (only auth fixed)
6. Redis: no persistence config, 5 services depend on it

Service Dependency Map (NEW — iter #25)

Shared ResourceConsumersRisk
DO PostgreSQL auth, pulse, mail, badwolf, billit, n8n (6) SPOF Failure = total outage
s60-redis auth, pulse, mail, badwolf, n8n (5) SPOF No persistence, no auth
auth-backend (OIDC) pulse, billit (2) SPOF Login fails if auth down
billit-redis billit-api (1) ISOLATED Good practice

Resource Usage (iter #25)

ContainerCPURAMHealthHC?Port Bind
s60-n8n0.40%270MBN/ANO0.0.0.0
billit-api0.01%75MBhealthyYES0.0.0.0
s60-badwolf0.00%61MBN/ANO0.0.0.0
s60-auth-backend3.55%51MBhealthyYES127.0.0.1
s60-mail0.02%45MBhealthyYES0.0.0.0
s60-pulse0.00%36MBhealthyYES0.0.0.0
s60-redis0.26%6MBN/ANOinternal
billit-web0.00%5MBhealthyYES0.0.0.0
s60-venom0.00%5MBhealthyYES0.0.0.0
s60-auth-frontend0.00%5MBhealthyYES127.0.0.1
billit-redis0.59%4MBN/ANOinternal
TOTAL~563MB7/11 (64%)2/9 safe

Implementation Rate

SimulationStatusProgress
Sim-001 Deploy Manifest PARTIAL
67% (4/6 services)
Sim-005 Service Availability DONE
100%
Sim-006 Backup Hardening PARTIAL
~40% — off-site backup confirmed
Sim-012 Cost Optimization PARTIAL
~50% — build cache 23→1GB
Sim-013 Git Workflow PARTIAL
~50% — auth branch fixed
Sim-014 Docker Compose Std IN PROGRESS
~30% — HC coverage 36→64%, auth ports fixed
Sim-010 Code QualityREADYPhase 1 ready, no blocker
Sim-011 Auth SPOFREADYPhase 1 ready, no blocker
Sim-002 SecurityBLOCKEDAwaiting Libor
Sim-003 SSL & DNSBLOCKEDAwaiting Libor
Sim-004 CLAUDE.md StandardBLOCKEDAwaiting Libor
Sim-007 Relay DedupBLOCKEDAwaiting Libor
Sim-008 Agent RolesBLOCKEDAwaiting Libor
Sim-009 Doc AccuracyBLOCKEDDepends on Sim-007

Questions for Libor (consolidated)

  1. Pulse synchronize: true — CRITICAL: TypeORM auto-sync in production can DROP columns. Switch to migrations?
  2. N8n zastavit? — 270MB RAM, 0 workflows. docker stop s60-n8n
  3. Fess queue — 12 unread zprav. Libor nedostava info. Alternativni kanal?
  4. billit.studio60.cz SSL — Expired 4+ mesice. Obnovit nebo smazat?
  5. Ghost relay queues — 10 unused. Smazat?
  6. be.studio60.cz vs badwolf.studio60.cz — Ktera domena je spravna?
  7. Redis persistence — Shared Redis bez persistence, 5 services. Pridat appendonly yes?