Active Work

Branches and PRs currently in flight across RENEWA repos. Sweep at 2026-06-12 — pulled from gh pr list on bookish-broccoli, crispy-octo-barnacle, craftcms, config. Previous sweep: 2026-05-07 (145 PRs merged in between — see “Recently merged” below).

RENEWA One (bookish-broccoli)

Ready for review (41 open)

Current (opened 2026-05-08 or later):

PRTitleArea
PR#2011Decision pointer for deterministic lcov reporter (I#1992)docs / decision pointer
PR#2010Building energy data: validation & provenance model, HubSpot intake, table consolidation (I#1962)schema / integrations
PR#2008Pin all GitHub Actions to commit SHAs (I#2007)CI security
PR#1997Skip frontend CI checks on changelog-only changes (I#1996)CI
PR#1990Explicit onDelete policies on remaining FKs (I#1973)schema integrity
PR#1987Decision pointer: secret-migration workflow cleanup (I#1967)docs / decision pointer
PR#1965Versioned encryption key ring + re-encryption script (I#1950)security
PR#1960Sentry cron monitors for BullMQ schedulers (I#1951)observability
PR#1920Sync HubSpot payment terms into variable workflow tranches (max 3)integrations / commission flow
PR#1915Fix unparseable config-sync.yml — likely obsolete: config-sync decommissioned by merged PR#1968CI (cleanup candidate)
PR#1904Fix deterministic JWT collision causing sessions 500s (renewa-gmbh/fluffy-doodle#111)auth
PR#1890Funding applications in building dashboard & workflow engine (I#1884)features / dashboard
PR#1875Design spec: consolidate receivable + external invoices, line-item funding allocationbilling / spec
PR#1862, PR#1856, PR#1830, PR#1765Weekly security audit fixes (06-08, 06-01, 05-25, 05-18) — four weeks unmergedsecurity (review backlog)
PR#1810hotfix(templates): catalog filter + BAFA airtightness + atlas gate idempotencytemplates / hotfix
PR#1805Tag Heizlast + EA templates with Antragstellung phaseconfig data
PR#1739docs(hubspot): plan to move HubSpot URLs onto renewa.de behind Zero Trustdocs / infra
PR#1723Workflow Engine v4 monolith (Kanban, Mentions, Blocker, Terminmodul) — kept as reference; being re-landed via the v4 PR-series (I#1933)workflow v4
PR#1722Archive/restore templates + files gold standard — foundation re-landed via merged PR#1752; remainder pendingdocuments (partially superseded)
PR#1848/PR#1847, PR#1818, PR#1816, PR#1716@types/big.js v7 (duplicate pair), prettier v3, eslint v10, archiver v8deps (Renovate)

Long-stale (opened pre-2026-05, cleanup candidates):

PRTitleArea
PR#1629Billing write-off backend (RNW-426)billing (stalled since 04-29)
PR#1626Billing inline sql → Drizzle helpers (RNW-400)billing refactor (stalled)
PR#1623Billing email templates seed → migration (RNW-394)billing / i18n (stalled)
PR#1425Env validation + key rotation + Entra rotation workflowinfra / secrets (stalled since 04-13)
PR#1410HubSpot pipeline stage ↔ phase bidirectional syncintegrations (stalled since 03-31)
PR#1405devContainer sandbox for Claude Codeinfra
PR#1333, PR#1335, PR#1337, PR#1339, PR#1340, PR#1343, PR#1345fluffy-doodle portal-fix batch from 2026-03-24portal (stalled ~11 weeks)
PR#1050Building dashboard + customer portalfeatures (stalled since 02-24; dashboard since delivered via the tab series)

Drafts (22 open)

PRTitleScope
PR#2040Collection-derived file access + link-based reassignment (I#2022)files canonical follow-up
PR#2039Upload target params + template label slots (I#2024)files canonical follow-up
PR#2038Chain merge-pdfs output into the canonical file model (I#2025)files canonical follow-up
PR#2036Adopt document_obtaining_request_files into the canonical model (I#2026)files canonical follow-up
PR#2016Workflow v4 — PR-3: Wochenplan + activity-log unification (I#1935)workflow v4 series
PR#2006Workflow v4 — PR-2: Admin Kanban surfaces (I#1934)workflow v4 series
PR#1989Wrap collection-service multi-table writes in transactions (I#1971)data integrity
PR#1874Task-level snooze — Phase 2aworkflow
PR#1859”Gebäudedetails” + “Fördermittelanträge” tabs on building dashboarddashboard
PR#1852🧪 TESTING ENV (do not merge) — Workflow Engine V3 previewtesting environment
PR#1849Export/import workflow-template snapshots as JSONconfig tooling
PR#1833V4 feature-parity port — design + ranked scopeworkflow v4 planning
PR#1824Kanban team-assignment: persist via contactIdworkflow fix
PR#1806Task↔LineItem value distribution all-in-one (PRs 2–3 landed separately as PR#1811/PR#1812)workflow (partially superseded)
PR#1804Implementation timeline + event backboneworkflow
PR#1800Research note: files fulfillment-chain future workdocs
PR#1799pr-preview: automate Cloudflare custom-domain attach/detach for Zero Trustinfra
PR#1786Building-context dimensions in document matrixdocuments
PR#1698Self-host Redis for non-prod (~$120/mo saving)infra / cost
PR#1630BillingWriteOffDialog FE (RNW-426)billing (stalled)
PR#1614docs(vo): VO shape γ from Email pilotarchitecture docs (stalled)
PR#1423Dashboard V3 — superseded: delivered as merged 5-PR tab series, draft still openfrontend (cleanup candidate)

Recently merged — 2026-05-08 → 2026-06-12, by week

145 PRs merged in the window (17 Renovate dep updates, collapsed to counts below).

Week 2026-06-08 → 06-12 (58 merged, 0 deps) — hardening surge, the heaviest week of the window:

  • Workflow v4 — PR-1: data layer foundation (PR#1942, I#1933) — the v4 multi-PR series begins; PR-2/PR-3 drafts opened same week
  • Files collection-canonical foundation (PR#1752, restart of PR#1722) + document obtaining writes the canonical file chain (PR#2005, I#1802); four follow-up drafts opened (I#2022I#2026)
  • Persistence topology (I#2013): PoEAA layering spec, domain/ modules as sole DB owner (PR#2014) + ratcheted enforcement gate and first container domain slice (PR#2020) — Strangler-Fig migration now underway
  • HubSpot hardening batch from the integration audit (I#1893I#1902): durable BullMQ webhook processing + claim-based dedup (PR#1907), self-healing token lifecycle (PR#1911), orphan detection without per-row GETs (PR#1912), portal security / single-use OAuth state (PR#1921), webhook event ordering + race-free upserts (PR#1922), associations data integrity (PR#1926), timeouts / Retry-After / log retention (PR#1927), sanitization at the mapping choke point (PR#1928), unified integration log (PR#1964), webhook payload redaction (PR#1982), sync watermark fix (PR#1910)
  • Site protocols: building-dashboard tab (PR#1969) + PDF export (PR#1994); HubSpot mirror columns on buildings (PR#1983)
  • Rollback tooling: MPG rollback via CI image re-promotion + guided DB break-glass (PR#1918); MPG snapshot before every data-mutating deploy (PR#1877)
  • N-1 migration compatibility gate in CI (PR#1938) — expand→migrate→contract enforced
  • Backend coverage shards fixed: 0/3 merge + shard-aware diff-coverage gate (PR#2000), deterministic lcov reporter (PR#1993)
  • Deliberate passes documented (PR#1956, I#1955) — feature flags, SBOM/signing, DCO, full OpenAPI, Prometheus consciously declined with revisit triggers
  • Mock people defer to Entra (PR#1879) + browser-session login via hardened e2e bots (PR#1924)
  • Human-FK retargets to contacts.id: workflow_packages.assigneeId (PR#1923), workflow_transition_log.actorId (PR#1931)
  • GitHub Issues become the source of truth for feature planning (PR#1888); Storybook preview providers + story tests (PR#1966) and build gate + diff coverage (PR#1958); “Umsätze” dashboard tab, PR 5/5 (PR#1860); contractor_contact sync + participants panel (PR#1891); portal resubmit-loop fix (PR#1882); Linear deploy-status updater fix (PR#2037); plus CI flake fixes, decision records, CLAUDE.md compressions

Week 2026-06-01 → 06-07 (6 merged, 0 deps) — quiet week, dashboard tab series:

  • Project dashboard tab series: real project overview PR 2/5 (PR#1776), “Baubeteiligte” association aggregation + CSV/PDF export PR 3/5 (PR#1777), “Bauzeitenplan” timeline + Gantt PR 4/5 (PR#1778), external engagements + detail panel (PR#1861)
  • Workflow package handover redesign Phase 1 (PR#1855); HubSpot association webhooks persist directly (PR#1853)

Week 2026-05-25 → 05-31 (7 merged, 1 dep):

  • Billing tool refinements P5 (PR#1751) — final rebase of the long-running 1424 billing line, merged at last
  • HubSpot User sync: contacts mirror + persistent owner mapping + UI owner display (PR#1767); property mappings promoted mock → config migration (PR#1790); test-portal sync fixes (PR#1823)
  • Template editor surfaces orphan keys + HubSpot-retired products (PR#1851); per-worktree Storybook port (PR#1854)

Week 2026-05-18 → 05-24 (33 merged, 8 deps incl. React 19 + TypeScript 6):

  • Quote Change rebuild P3 (PR#1730, follow-up PR#1736) — replaces the closed V3 monolith feature
  • Task↔LineItem value distribution: template editor PR 2 (PR#1811) + Auswertung PR 3 (PR#1812)
  • Schema cleanup: 10 vestigial workflow_packages columns dropped (PR#1742); priority-matrix rename not_required → not_relevant (PR#1822)
  • Document templates baselined from staging as one-shot migration (PR#1789); in-file renewa:atlas:skip-on directive (PR#1797); atlas-migrate hardening (PR#1793, PR#1795)
  • Auto-logout fix (stop redirecting on JWT expiry, PR#1788); SSO returnUrl redirect merged after 7 weeks (PR#1403)
  • HubSpot production role aliases + drop invoice_recipient (PR#1783); quote-template React modules (PR#1718)

Week 2026-05-11 → 05-17 (36 merged, 6 deps) — the restructuring week:

  • 2026-05-14 mass-close: Workflow Engine V3 monolith (PR#1554), KOP integration (PR#1675), Quote Change (PR#1676), audience enum (PR#1632) and the schema spec (PR#1429) all closed unmerged — superseded by the staged P1–P5 rebuild series
  • Contractor engagement workflow rebuild P2 (PR#1690) — engagement_type discriminator, commission tranches; the commission-flow foundation
  • Long-running PRs cleared in one sweep on 05-14: config data export + nightly sync (PR#1201), table-consolidation spec (PR#1426), GoBD entity snapshot (PR#1631), analytics SQL (PR#1622), info tooltips (PR#1280), backlog filter (PR#1444), download auth (PR#1404), Infisical staging spec (PR#1615)
  • New /audit checks: naming scope drift + HubSpot association infrastructure (PR#1688)
  • Staging aligned with production: 3-machine fleet + canary deploys (PR#1726)
  • Grafana observability train starts: dashboards-as-code scaffold (PR#1744), cloud token via Infisical (PR#1749), Loki datasource (PR#1750)
  • Secrets cleanup: redundant pushes removed from promote-image (PR#1741) and log-shipper (PR#1740); Infisical/Fly parity check (PR#1687); HubSpot webhook URL limit hardening (PR#1721); Teams changelog delivery fix (PR#1746)

Week 2026-05-08 → 05-10 (5 merged, 2 deps):

  • HubSpot association role layer P1 (PR#1689) — foundation for the whole KOP / Quote-Change rebuild; RENEWA_ROLE_BINDINGS, no new FK columns for HubSpot-tracked relationships
  • Deal=Project + no-vendor-lock rule made discoverable (PR#1685); sets-from-completed-sets fix (PR#1627)

Notable patterns from this sweep

  1. Monolith → staged series is now the house style. The V3 monolith line (PR#1554 + satellites) was closed unmerged on 2026-05-14 and re-landed as reviewable stages P1→P5 (association layer, contractor engagement, quote change, billing refinements). Workflow v4 (PR#1723 monolith → ranked port plan PR#1833 → PR-1/2/3 series) and files collection-canonical (PR#1722PR#1752 + follow-up drafts) follow the same playbook.
  2. June is a hardening month. Week 06-08→06-12 alone: 58 merges dominated by the HubSpot audit batch (I#1893I#1902), persistence-topology enforcement, N-1 migration gate, rollback tooling, coverage-shard fixes — quality/infra over features.
  3. Architecture rules keep accruing enforcement. Persistence topology (I#2013) ships with a ratcheted CI gate; N-1 migrations gated by script; GitHub Issues codified as planning source of truth (PR#1888); deliberate passes recorded with revisit triggers (I#1955).
  4. Review backlog building up. Four weekly security-audit PRs (PR#1765, PR#1830, PR#1856, PR#1862) and 14 pre-May ready PRs sit unmerged; several open PRs are factually superseded (PR#1423, PR#1722, PR#1915, PR#1806) — a close/cleanup pass would declutter the queue.
  5. Dashboard V3 shipped sideways. The original draft (PR#1423) never merged; the capability arrived as the 5-PR tab series (overview, Baubeteiligte, Bauzeitenplan, Umsätze, engagements) merged 2026-06-01→08.
  6. Observability is a new visible workstream. Grafana dashboards-as-code, Loki datasource, staging BI datasource (PR#1782), Sentry cron monitors for BullMQ (PR#1960, open) — within the “no Prometheus pipeline” deliberate pass.

Commission flow — multi-tranche / partner-portal subsystem

Status: foundation merged 2026-05-13 as the P2 contractor-engagement rebuild (PR#1690): engagement_type discriminator, commissionRate synced read-only from HubSpot, eager tracking tranche per internal_contractor package. Multi-tranche flow is advancing: PR#1920 (open) syncs HubSpot payment terms into variable workflow tranches (max 3).

Design: bookish-broccoli docs/superpowers/specs/2026-05-11-commission-flow-design.md

Follow-up issues: I#1709 (defaultCommissionRate mirrors), I#1710 (dealAmount sync), I#1711 (multi-tranche + contractor invoice ingestion + partner portal), I#1712 (payable commission).

Key decisions (memo §6): HubSpot is the source for ALL commission rates, R1 read-only; projects.dealAmount is the commission base; multi-tranche keyed to contractor invoices; partner portal generalizes the customer-portal architecture to multiple partner roles.

Open: workflow templates seeded in PR#1690 were placeholders; real templates configured by Peer with Flo and Julius (handover tracked in the PR thread). Template-editor tooling has since landed (PR#1851, PR#1811/PR#1812).

Landing Pages (crispy-octo-barnacle)

No merges since 2026-04-21 (sanierungskompass index.html, renewa-gmbh/crispy-octo-barnacle#7). One open PR: renewa-gmbh/crispy-octo-barnacle#8 “Update index.html”, sitting since 2026-04-29.

CraftCMS

Busy May: a Redis outage drove an emergency caching overhaul (Blitz → FileStorage renewa-gmbh/craftcms#26, Cloudflare edge-caching of anonymous HTML renewa-gmbh/craftcms#21/#22#24, all merged 2026-05-11/12). An upgrade train is now open: Craft 4 (renewa-gmbh/craftcms#30, #32), Craft 5 (#33), PHP 8.5 (#34), plus a Fly.io staging environment (#31). See index.

CRM

Local docs-knowledge-base-reference branch pending push to Azure DevOps.

Config

renewa-gmbh/config#3 still open (since 2026-04-17) — adds Knowledge Base reference to CLAUDE.md. No commits to main since 2026-01.

Knowledge Base (renewa-knowledge-base)

No open PRs (direct-push-to-main workflow).

How this page is updated

  • Manually: ask Claude to sweep open PRs and branches across repos
  • Semi-automatic: Claude updates this page when finishing work in any project repo
  • Periodic: weekly sweep refreshes the whole page