April 2026 Retrospective
Honest summary of what went well and what didn’t, scoped to the window the wiki has visibility on (knowledge base started 2026-04-15). Most observations are RENEWA One (renewa-gmbh/bookish-broccoli) since that’s where the activity concentrated.
Successes
Strategic / foundational
- Knowledge base launched and sustained. From Hannes’s initial repo on 2026-04-15 to live at wiki.renewa.de behind Cloudflare Zero Trust on 2026-04-17. Sweep mechanism has run consistently since 2026-04-21, capturing roadmap state without missing a beat.
- Decision 002 (monorepo consolidation) authored and refined. Phase 1 is happening organically — 15+ fluffy-doodle issue fixes migrated to bookish-broccoli; 3 of 4 target repos now reference the wiki (bookish-broccoli ✓, craftcms ✓, config ✓, CRM still pending Azure DevOps push).
- Rules-as-Code workstream — 8 enforced rules + 1 meta-infrastructure hook merged in ~72 hours (2026-04-27 → 2026-04-29). Most architecturally significant: PostToolUse quick-lint hooks (#1583) move enforcement from commit-time to write-time. Strategy: conventions in CLAUDE.md → eslint rules → write-time hooks. Earned its own roadmap section.
Big features delivered
- Entra/Org data model complete: RNW-335 (#1454) + RNW-336 (#1464) + contact-as-central-person rule codification (#1566) — three weeks of work neatly closed out. Rule lineage visible in Claude Contributor Prompt.
- Deal-Übergabe handover end-to-end: readiness detection (#1440, #1441) → real data (#1442). Closes the #1433 line of work.
- Email Value Object pilot Track B merged (#1540) — graduated from spec to implementation in 2 days.
- Sidebar redesign delivered (#1483) — narrower scope after pivot, merged in ~1 day.
Infrastructure wins
- Security scan two-track policy fully shipped (#1449–#1458) — PR-gate (HIGH/CRITICAL blocking) + scheduled reconcile (MEDIUM+ DRY_RUN).
- Schema/migration drift detection (#1506) — catches schema/SQL divergence.
- CI/CD hardening burst on 2026-04-24: parallelize build with quality-checks (#1549), atlas.sum integrity (#1551), deploy gating (#1547).
- pr-preview-proxy Cloudflare Worker (#1471) — Zero Trust gating for PR previews (same pattern as wiki.renewa.de).
- Infisical migration progression in three steps: CLI for local dev (#1475) → OIDC for pr-preview (#1488) → native sync for dev environment (#1598). Drops
flyctl secrets set. - HubSpot developer apps for PR previews (#1532) — per-PR HubSpot dev app provisioning.
- Audit slash command (#1492) + iterations (#1585, #1586) —
/auditfor end-of-cycle pattern review, then trimmed ~30%.
Volume / velocity
- ~70+ PRs merged in bookish-broccoli over the 2-week window the KB has visibility on.
- 15+ fluffy-doodle issue fixes migrated organically (no formal Phase 1 push needed).
- Several “Active → Done in 1-2 days” deliveries (Sidebar redesign, RNW-336, Infisical CLI, Email VO Track B, all 8 Rules-as-Code merges).
Fails / friction
Multi-attempt deliveries (cost of churn)
- Sidebar saga. Three (or four) attempts: #1421 (open), #1422 (closed and superseded), #1483 (merged), plus salvage operations #1530 (TopBar port from closed #1422) and #1567 (TopBar layout cleanup). Eventually delivered, but with significant rework. Zuständigkeiten consolidation was dropped in the pivot and never re-roadmapped.
- Billing fragmentation. #1424 Phase 1, #1397 management (separate stream), #1534 refinements v2 — three overlapping billing branches alive simultaneously for weeks. #1424 eventually rebased into #1608; #1397 merged independently; #1534 still draft. Sweep flagged this repeatedly; it took until late April for partial cleanup.
- Workflow Engine V2 vs V3. #1419 (V2) drafted and in flight for ~2 weeks; #1554 (V3) appeared 2026-04-25 with new scope (KOP integration, standalone invoices); #1597 rebased V2 onto current main. Relationship between V2 and V3 still unclear at month-end.
Long-running drafts (accumulation cost)
- ~10+ open PRs in bookish-broccoli with
updatedAtfrom March 2026 or earlier — drift accumulating. Some clearly stale (e.g., #897, #933 from February). - #1419 and #1424 needed rebases on 2026-04-29 because main moved significantly during the Rules-as-Code burst. Rebase cost is paid by the originator.
- #1423 Dashboard V3 — no activity since 2026-04-22, status quiet.
Cost / quota signals
claude-code-reviewdisabled on PR trigger (#1552, #1553, 2026-04-24) due to “org quota exceeded.” Worth tracking for cost calculus on Claude usage going forward.
Knowledge base setup itself (self-criticism)
- Repo-name pivot mid-flight. Plan was
wise-wisent; Hannes createdrenewa-knowledge-baseindependently. Required restructuring spec and plan after execution had started. - kebab-case vs Title Case pivot mid-flight. Decided kebab-case, ran the rename script, then discovered Hannes had already built 80 sub-pages in Title Case with cross-references. Reverted in Task 7. Avoidable if Hannes’s repo had been inspected more thoroughly before deciding.
- wiki.renewa.de Mermaid Gantt theming — three iterations to get from “default theme conflicts with dark mode” through “theme overrides cause rendering artifacts in light mode” to “this looks bad but works.” User explicitly said “I don’t like” and accepted as-is rather than invest in a custom Quartz plugin. Real friction; not pretty.
*.pages.devURL gating — Zero Trust onwiki.renewa.deworks, but the parallel*.pages.devURL stayed unprotected despite multiple attempts. Pages project rename was a dead-end (only changes label, not URL). Currently mitigated by obscurity rather than enforcement.- First bulk-link script created double-linked references. Required revert and rewrite with proper code-fence detection.
- Mermaid syntax error —
(#NNNN)in Gantt task names was breaking the parser; took multiple commits to isolate and fix. - CRM (Azure DevOps) PR never pushed. Branch ready locally since 2026-04-17, still pending. The non-GitHub repo is a friction point for the integration story.
Honest assessment
Strongest April theme: the Rules-as-Code workstream. Going from informal CLAUDE.md prose → eslint enforcement → write-time hooks in 72 hours is genuinely impressive. It’s the kind of architectural decision that pays compounding interest.
Persistent friction: scope drift on long-lived initiatives (Sidebar, Billing, Workflow Engine). Multiple competing branches for the same area suggests planning gaps that the sweep mechanism surfaces but doesn’t solve. A weekly “what are we actually shipping in this area?” conversation might cut more rework than another rule could prevent.
Knowledge base’s strongest contribution: the Recent Changes section on the roadmap caught the Sidebar pivot, the Rules-as-Code emergence, and the V2→V3 split — three meaningful organizational signals — within hours of each happening. If the team uses this as a forcing function for the planning gaps above, the wiki pays for itself.
Related
- active — current open PRs
- roadmap — current roadmap with Recent Changes
- 001-knowledge-base-setup
- 002-monorepo-consolidation
- Claude Contributor Prompt