Roadmap

Planned upcoming work across RENEWA projects. Coarser than active — weeks to months, not days. Synthesized from open draft PRs, in-flight specs, and recently merged foundation work. Older change history: roadmap-history.

Timeline (estimated)

Note: Dates below are Claude’s estimates based on PR age, draft/ready state, and complexity. They are NOT authoritative project plans. Edit directly in this file (it’s Mermaid syntax) when the team has real dates.


gantt
    title RENEWA Roadmap — estimated from PR state (sweep: 2026-06-12)
    dateFormat YYYY-MM-DD
    axisFormat %b %d

    section Workflow Engine
    Workflow Engine V2 (merged PR 1597)              :done, wfv2, 2026-04-15, 2026-05-04
    V3 monolith - closed unmerged (PR 1554)          :done, wfv3, 2026-04-25, 2026-05-14
    P1 association role layer (merged PR 1689)       :done, wfp1, 2026-05-08, 2026-05-09
    P2 contractor engagement (merged PR 1690)        :done, wfp2, 2026-05-09, 2026-05-13
    P3 quote change rebuild (merged PR 1730)         :done, wfp3, 2026-05-14, 2026-05-18
    P5 billing refinements (merged PR 1751)          :done, wfp5, 2026-05-18, 2026-05-25
    Value distribution editor + Auswertung (merged PR 1811 + 1812) :done, valdist, 2026-05-21, 2026-05-22
    Handover redesign Phase 1 (merged PR 1855)       :done, handover1, 2026-05-27, 2026-06-01
    Payment terms to variable tranches (PR 1920)     :active, hspay, 2026-06-10, 14d

    section Workflow v4
    Feature-parity port plan (PR 1833 draft)         :active, v4plan, 2026-05-25, 2026-06-20
    PR-1 data layer (merged PR 1942)                 :done, v4pr1, 2026-06-09, 2026-06-11
    PR-2 Admin Kanban (PR 2006 draft)                :active, v4pr2, 2026-06-12, 10d
    PR-3 Wochenplan + activity log (PR 2016 draft)   :active, v4pr3, 2026-06-12, 14d

    section Files Collection-Canonical
    Foundation + design (merged PR 1752)             :done, files1, 2026-05-13, 2026-06-11
    Canonical chain writes (merged PR 2005)          :done, files2, 2026-06-11, 2026-06-12
    Follow-up series (PR 2036 + 2038 + 2039 + 2040)  :active, files3, 2026-06-12, 21d

    section Persistence Topology
    PoEAA layering spec (merged PR 2014)             :done, ptspec, 2026-06-11, 2026-06-12
    Ratcheted gate + container slice (merged PR 2020) :done, ptgate, 2026-06-12, 1d
    Strangler-Fig domain migration                   :active, ptmig, 2026-06-12, 60d

    section HubSpot
    User sync contacts mirror (merged PR 1767)       :done, hsuser, 2026-05-21, 2026-05-27
    Hardening batch I1893-I1902 (merged)             :done, hshard, 2026-06-09, 2026-06-12
    Building energy data + intake (PR 2010)          :active, hsenergy, 2026-06-12, 14d
    Phase bidirectional sync (PR 1410, stalled)      :active, hsphase, 2026-04-10, 2026-06-12

    section Dashboards
    Project dashboard tab series (merged, 5 PRs)     :done, dashtabs, 2026-06-01, 2026-06-08
    Site protocols + PDF export (merged PR 1969 + 1994) :done, siteprot, 2026-06-10, 2026-06-11
    Funding applications panel (PR 1890)             :active, funding, 2026-06-09, 10d
    Gebaeudedetails + Foerderantraege tabs (PR 1859 draft) :active, bldgtabs, 2026-06-04, 14d

    section Billing
    Money type + guardrails (merged PR 1628 + 1669)  :done, money, 2026-04-30, 2026-05-07
    GoBD snapshot (merged PR 1631)                   :done, gobd, 2026-04-30, 2026-05-14
    Invoice consolidation spec (PR 1875)             :active, invspec, 2026-06-09, 14d
    April billing tail - stalled (PR 1623 + 1626 + 1629 + 1630) :active, billtail, 2026-04-29, 2026-06-12

    section Observability & Ops
    Grafana dashboards-as-code (merged)              :done, grafana, 2026-05-15, 2026-06-08
    MPG rollback + deploy snapshots (merged PR 1918 + 1877) :done, rollback, 2026-06-09, 2026-06-10
    N-1 migration gate (merged PR 1938)              :done, n1gate, 2026-06-10, 2026-06-11
    Coverage shards + lcov (merged PR 2000 + 1993)   :done, covshards, 2026-06-10, 2026-06-12
    Sentry cron monitors (PR 1960)                   :active, sentrycron, 2026-06-11, 7d
    Self-host Redis non-prod (PR 1698 draft)         :active, redis, 2026-05-11, 2026-06-26

    section Security
    Weekly security audit sweeps                     :active, secaudit, 2026-04-17, 180d
    Versioned encryption key ring (PR 1965)          :active, keyring, 2026-06-11, 10d
    Pin actions to commit SHAs (PR 2008)             :active, pinsha, 2026-06-12, 7d

    section Knowledge Base
    Phase 1 triage -> Linear (not started)           :kbp1, 2026-06-15, 21d
    Phase 2 KB -> bookish-broccoli                   :kbp2, after kbp1, 30d

    section Landing Pages
    Sanierungskompass + Foerdermittelcheck (stalled since 2026-04-29) :lpstall, 2026-04-20, 2026-06-12

References

Always-available fallback: every initiative with its dates, status, and links. The Gantt carries no click directives (Quartz’s Mermaid securityLevel blocks them) — this table is the canonical link source. Start/end dates mirror the Gantt; rows for initiatives completed before 2026-05-08 are kept for history.

Current and recent (since 2026-05-08):

InitiativeStatusStartEndPR / LinkLinear
Workflow staged rebuild P1 — HubSpot association role layerMerged2026-05-082026-05-09PR#1689
Workflow staged rebuild P2 — contractor engagement (commission flow foundation)Merged2026-05-092026-05-13PR#1690
Workflow staged rebuild P3 — Quote ChangeMerged2026-05-142026-05-18PR#1730, PR#1736
Workflow staged rebuild P5 — billing tool refinementsMerged2026-05-182026-05-25PR#1751
Task↔LineItem value distribution (template editor + Auswertung)Merged2026-05-212026-05-22PR#1811, PR#1812; omnibus draft PR#1806 remains
Workflow package handover redesign Phase 1Merged2026-05-272026-06-01PR#1855
HubSpot payment terms → variable workflow tranchesOpen2026-06-102026-06-24 (est)PR#1920
Workflow v4 — feature-parity port planDraft2026-05-252026-06-20 (est)PR#1833; monolith reference PR#1723
Workflow v4 — PR-1 data layer foundationMerged2026-06-092026-06-11PR#1942, I#1933
Workflow v4 — PR-2 Admin Kanban surfacesDraft2026-06-122026-06-22 (est)PR#2006, I#1934
Workflow v4 — PR-3 Wochenplan + activity-log unificationDraft2026-06-122026-06-26 (est)PR#2016, I#1935
Files collection-canonical — foundation + designMerged2026-05-132026-06-11PR#1752 (restart of PR#1722)
Files — document obtaining writes canonical chainMerged2026-06-112026-06-12PR#2005, I#1802
Files — canonical follow-up seriesDraft2026-06-122026-07-03 (est)PR#2036, PR#2038, PR#2039, PR#2040 (I#2022I#2026)
Persistence topology — PoEAA layering specMerged2026-06-112026-06-12PR#2014, I#2013
Persistence topology — ratcheted gate + container domain sliceMerged2026-06-122026-06-12PR#2020
Persistence topology — Strangler-Fig domain migrationOngoing2026-06-12(rolling)I#2013
HubSpot User sync (contacts mirror + owner mapping)Merged2026-05-212026-05-27PR#1767
HubSpot hardening batch (audit findings)Merged2026-06-092026-06-12PR#1907, PR#1911, PR#1912, PR#1921, PR#1922, PR#1926, PR#1927, PR#1928, PR#1964, PR#1982 (I#1893I#1902)
Building energy data: validation, provenance, HubSpot intakeOpen2026-06-122026-06-26 (est)PR#2010, I#1962; mirror columns PR#1983 merged
Project dashboard tab series (overview, Baubeteiligte, Bauzeitenplan, Umsätze, engagements)Merged2026-06-012026-06-08PR#1776, PR#1777, PR#1778, PR#1860, PR#1861
Site protocols tab + PDF exportMerged2026-06-102026-06-11PR#1969, PR#1994
Funding applications panel (building dashboard + workflow)Open2026-06-092026-06-19 (est)PR#1890, I#1884
Invoice consolidation design spec (receivable + external, line-item funding allocation)Open2026-06-092026-06-23 (est)PR#1875
Grafana dashboards-as-code + datasourcesMerged2026-05-152026-06-08PR#1744, PR#1749, PR#1750, PR#1782
MPG rollback tooling + pre-deploy snapshotsMerged2026-06-092026-06-10PR#1918, PR#1877
N-1 migration compatibility gate (expand→migrate→contract)Merged2026-06-102026-06-11PR#1938, I#1937
Backend coverage shards + deterministic lcovMerged2026-06-102026-06-12PR#2000, PR#1993
Mock people defer to Entra + hardened e2e botsMerged2026-06-092026-06-10PR#1879, PR#1924
Deliberate passes (feature flags, SBOM, DCO, OpenAPI, Prometheus — declined with revisit triggers)Merged2026-06-112026-06-11PR#1956, I#1955
Versioned encryption key ring + re-encryptionOpen2026-06-112026-06-21 (est)PR#1965, I#1950
Sentry cron monitors for BullMQ schedulersOpen2026-06-112026-06-18 (est)PR#1960, I#1951
Pin GitHub Actions to commit SHAsOpen2026-06-122026-06-19 (est)PR#2008, I#2007
Self-host Redis for non-prodDraft2026-05-112026-06-26 (est)PR#1698

Pre-2026-05-08 initiatives (history; statuses corrected this sweep):

InitiativeStatusStartEndPR / LinkLinear
Entra groups + locationsMerged2026-04-102026-04-17PR #1454RNW-335
Dept/location FKs + Entra profile syncMerged2026-04-172026-04-21PR #1464RNW-336
Contact-as-central-person rule (codification)Merged2026-04-272026-04-27PR #1566
Env validation + key rotation + Entra rotationOpen (stalled since 2026-04-13)2026-04-15PR #1425
Infisical CLI for local devMerged2026-04-182026-04-21PR #1475
Infisical OIDC for pr-previewMerged2026-04-212026-04-28PR #1488
Infisical native sync for dev (drop flyctl secrets set)Merged2026-04-282026-04-28PR #1598
Weekly security auditOngoing — but four weekly-fix PRs unmerged (PR#1765, PR#1830, PR#1856, PR#1862)2026-04-17(rolling)PR #1465
Deal-Übergabe handover readinessMerged2026-04-142026-04-19PR #1440, #1441
HubSpot phase bidirectional syncOpen (stalled since 2026-03-31)2026-04-10PR #1410
Deal-Übergabe real dataMerged2026-04-152026-04-24PR #1442 (closes #1433)
HubSpot dev apps for PR previewsMerged2026-04-222026-04-24PR #1532
Sidebar redesignMerged2026-04-212026-04-22PR #1483 (superseded closed #1422)
TopBar layout cleanup (closes Sidebar/TopBar saga)Merged2026-05-042026-05-06PR #1567
Dashboard V3Superseded — delivered as the merged tab series 2026-06-02→08; draft PR#1423 still open (cleanup candidate)2026-04-182026-06-08tab series PR#1776/PR#1777/PR#1778/PR#1860/PR#1861
Workflow Engine V2Merged 2026-05-04 (~3 weeks; original #1419 rebased into #1597)2026-04-152026-05-04PR #1597
Workflow Engine V3 + Billing rebase (monolith)Closed unmerged 2026-05-14 — superseded by the staged P1–P5 rebuild (see current table)2026-04-252026-05-14PR #1554
KOP integration (monolith branch)Closed unmerged 2026-05-14 — re-landed as P2 PR#1690; see KOP Integration2026-05-062026-05-14PR #1675
Quote Change feature (V3 follow-up branch)Closed unmerged 2026-05-14 — re-landed as P3 PR#17302026-05-062026-05-14PR #1676
Email Value Object pilot — Track BMerged2026-04-252026-04-27spec PR #1510, implementation PR #1540
Rules-as-Code: Contact-as-central-personMerged2026-04-272026-04-27PR #1566
Rules-as-Code: Seed data mock vs configMerged2026-04-272026-04-27PR #1571
Rules-as-Code: File handling CAS + streamsMerged2026-04-272026-04-27PR #1574
Rules-as-Code: Drizzle helpers over raw sqlMerged2026-04-272026-04-27PR #1577
Rules-as-Code: BullMQ over setIntervalMerged2026-04-272026-04-27PR #1576
Rules-as-Code: i18n for user-facing stringsMerged2026-04-272026-04-27PR #1581
Rules-as-Code: Schema lean by defaultMerged2026-04-282026-04-28PR #1584
Rules-as-Code: PostToolUse quick-lint hooks (meta-infra)Merged2026-04-282026-04-28PR #1583
Rules-as-Code: seeds → mocks renameMerged2026-04-272026-04-28PR #1573
Rules-as-Code: English-only for engineering docsMerged2026-05-062026-05-06PR #1679
Rules-as-Code: Money type adoption guardrailsMerged 2026-05-072026-05-042026-05-07PR #1669RNW-399 phase A2
Rules-as-Code: naming scope drift + association infra audit checksMerged2026-05-132026-05-14PR#1688
Billing Phase 1Superseded 2026-05-06 by the V3 line, which itself closed 2026-05-14; work landed via P5 PR#17512026-04-202026-05-25
Billing management (separate from Phase 1)Merged(long-running)2026-04-28PR #1397
Billing: Money type for exact decimal arithmeticMerged 2026-05-042026-04-302026-05-04PR #1628RNW-399
Billing: GoBD entity snapshot on sendMerged 2026-05-142026-04-302026-05-14PR #1631RNW-391
Billing: audience enum + columnsClosed unmerged 2026-05-142026-04-302026-05-14PR #1632RNW-395
Billing: write-off feature (BE + FE)Open (stalled since 2026-04-29)2026-04-30PR #1629 (BE), PR #1630 (FE draft)RNW-426
Billing: email templates seed → migration + ENOpen (stalled)2026-04-30PR #1623RNW-394
Billing: inline sql → Drizzle helpers refactorOpen (stalled)2026-04-29PR #1626RNW-400
Billing: move billing-settings types to sharedMerged2026-04-302026-04-30PR #1625RNW-413
HubSpot: integration tests for sync engine + webhook handlerMerged2026-04-292026-05-04PR #1600
Table consolidation scoping (spec)Merged 2026-05-142026-04-102026-05-14PR #1426
Drop deprecated user fields (spec)Closed unmerged 2026-05-142026-04-122026-05-14PR #1429
Schema / migration drift detectionMerged2026-04-202026-04-22PR #1506
Config data export: manifest + nightly syncMerged 2026-05-14 (long-running)(Feb)2026-05-14PR#1201
Knowledge Base Phase 0Done2026-04-132026-04-17renewa-knowledge-base
Knowledge Base Phase 1 (triage → Linear)Planned (not started; est shifted from 2026-05-01)2026-06-15 (est)2026-07-06 (est)002-monorepo-consolidation
Knowledge Base Phase 2 (KB → bookish-broccoli)Plannedafter Phase 1+30d002-monorepo-consolidation
Landing Pages: SanierungskompassScaffold (stalled — no repo activity since 2026-04-29)2026-04-20crispy-octo-barnacle
Landing Pages: FoerdermittelcheckScaffold (stalled)2026-04-20crispy-octo-barnacle

Dates marked (est) are Claude’s estimates; the rest are confirmed by PR merge events or branch creation dates.

Recent Changes

Claude appends a line here on each sweep when a roadmap item’s dates, status, or scope has meaningfully shifted since the prior sweep. Scope pivots, significant start-date slips, and items added/removed all count. Reader-facing history of how the plan has evolved — newest first. Entries older than 2026-05-01 live in roadmap-history.

  • 2026-06-12Catch-up sweep after 36 days (previous sweep 2026-05-07); 145 PRs merged in the window. The V3 monolith era ended on 2026-05-14: PR#1554 (V3 + billing rebase), PR#1675 (KOP), PR#1676 (Quote Change), PR#1632 (audience enum) and PR#1429 (schema spec) all closed unmerged, re-landed as the staged rebuild P1→P5 (PR#1689, PR#1690, PR#1730, PR#1751 — all merged by 2026-05-25). Three new workstreams added to the Gantt: Workflow v4 multi-PR series (I#1933I#1935; PR-1 PR#1942 merged 06-11, PR-2/PR-3 drafts open), Files collection-canonical (PR#1752 + chain writes PR#2005 merged, four follow-up drafts), and Persistence topology Strangler-Fig migration (I#2013; spec PR#2014 + ratcheted gate PR#2020 merged 06-12). June hardening surge: HubSpot audit batch (I#1893I#1902), N-1 migration gate (PR#1938), MPG rollback tooling (PR#1918/PR#1877), coverage-shard fixes (PR#2000). Dashboard V3 reframed as Superseded — capability delivered via the merged 5-PR tab series (2026-06-01→08); draft PR#1423 is a cleanup candidate. Deliberate passes recorded (I#1955). Gantt rebuilt: April-era micro-bars retired to the References history table, click directives removed (References table is the canonical link source). Pre-May Recent Changes entries archived to the new roadmap-history.
  • 2026-05-07Major roadmap restructure: Billing + Workflow Engine V3 are now ONE workstream. #1674 “Billing + Workflow Engine V3 rebase” merged 2026-05-06, with #1554 (V3) superseding #1424 / #1534 / #1608. Billing Phase 1 bar reframed as Superseded; Workflow V3 bar reframed as the shared billing+workflow effort and now non-draft. Resolves the long-running Billing fragmentation friction. Sidebar/TopBar saga finally closed: #1567 TopBar cleanup merged after 7+ days as draft. New Done bar in Frontend Overhauls. New Rules-as-Code entries: #1679 chore(claude-md): English-only rule for engineering docs (merged) and #1669 chore(money): Money type adoption guardrails (draft, RNW-399 phase A2). Workstream isn’t actually closed — it grows reactively as new rules are identified, including infrastructure to enforce adoption of new types like Money. New roadmap entries: #1675 draft KOP integration (canonical terminology page already at KOP Integration from manual commit c0c589c); #1676 draft Quote Change feature (V3 follow-up). Lint caught 3 broken wiki-links in the new KOP Integration page (forward-references to Workflow Engine, Billing System, FUE) — fixed by converting to backtick-wrapped TBD placeholders, matching the convention used in projects/crm/index.md.
  • 2026-05-04Workflow Engine V2 merged (#1597). ~3 weeks in flight (originally #1419, rebased onto current main on 2026-04-29 after the Rules-as-Code burst moved main significantly). Major workstream closure. V3 (#1554) is now the active workflow-engine bar. HubSpot integration tests merged (#1600) — closes the Test Coverage section already documented in HubSpot Integration (was forward-referenced; now backed by merged code). Audit slash command tightened again (#1643) — adds squash-migrations + ADP gates + dep pinning + KB updates checks. CI hardening continues: #1640 Redis noeviction for BullMQ safety (pairs with the BullMQ Rules-as-Code rule #1576), #1641 migration-approved label opt-out, #1644 e2e warmup. Billing burst from 2026-04-30 mostly still in flight (only #1625 shared types merged). 4-day window included a weekend; cadence was slower than late-April. Hannes expanded decision 003 with 585 lines of workflow implementation details (commit c62677d, 2026-04-30 — manual edit caught in this sweep).

Linear IDs link to the RENEWA Linear workspace (linear.app/renewa/issue/RNW-XXX). If the link target moves or the workspace slug changes, update the pattern in CLAUDE.md under “Link Conventions” and re-run the bulk-link script.

Details

RENEWA One — major initiatives

Workflow Engine — staged rebuild complete, v4 in flight

The V3 monolith (PR#1554) was abandoned 2026-05-14 in favor of staged PRs, all merged: P1 HubSpot association role layer (PR#1689), P2 contractor engagement / commission flow (PR#1690), P3 Quote Change (PR#1730), P5 billing refinements (PR#1751). Workflow v4 (Kanban, Mentions, Blocker, Terminmodul) now follows the same pattern: ranked port plan (PR#1833 draft), PR-1 data layer merged (PR#1942), PR-2 Admin Kanban (PR#2006) and PR-3 Wochenplan (PR#2016) in draft. Next expected: task-level snooze (PR#1874), implementation timeline + event backbone (PR#1804).

Files collection-canonical

The files table is collection-canonical: foundation merged (PR#1752), document obtaining writes the canonical chain (PR#2005, I#1802). Follow-up series in draft: adopt obtaining request files, chain merge-pdfs output, upload target params, collection-derived access (I#2022I#2026).

Persistence topology — Strangler-Fig migration

I#2013: PoEAA layering, domain/ modules become the sole DB owner. Spec (PR#2014) and ratcheted CI gate + first container domain slice (PR#2020) merged 2026-06-12. Remaining modules migrate incrementally under the ratchet — the long-running architecture workstream for H2.

HubSpot integration — hardened

May: User sync with contacts mirror + persistent owner mapping (PR#1767), property mappings as config migration (PR#1790). June: the audit-driven hardening batch (I#1893I#1902) — durable BullMQ webhooks, self-healing token lifecycle, portal security, event ordering, sanitization, log unification + redaction. In flight: payment terms → tranches (PR#1920), building energy data intake (PR#2010). Still stalled: phase bidirectional sync (PR#1410, open since March).

Dashboards

Project dashboard delivered as the 5-PR tab series (overview, Baubeteiligte, Bauzeitenplan + Gantt, Umsätze, external engagements), merged 2026-06-01→08. Building dashboard: site protocols + PDF export merged (PR#1969, PR#1994); funding applications panel (PR#1890) and Gebäudedetails/Fördermittelanträge tabs (PR#1859) in flight.

Billing

Money type + guardrails merged (RNW-399); GoBD snapshot merged (RNW-391); P5 refinements merged. The April tail (write-off RNW-426, email templates RNW-394, Drizzle refactor RNW-400) is stalled — needs a decision to land or close. New direction: invoice consolidation spec (PR#1875) unifying receivable + external invoices with line-item funding allocation.

Observability & operations

Grafana dashboards-as-code + Loki/Postgres datasources via Infisical (merged, May–June). MPG rollback runbook + pre-deploy snapshots merged. Sentry cron monitors for BullMQ in review. Deliberate pass on a Prometheus pipeline (I#1955).

Security

Weekly audit sweeps ongoing — but four weekly-fix PRs are sitting unmerged (review backlog). Versioned encryption key ring (PR#1965) and Actions SHA-pinning (PR#2008) in review.

Landing Pages (crispy-octo-barnacle)

  • sanierungskompass / foerdermittelcheck — scaffolds merged in April; no activity since 2026-04-29 (one open PR renewa-gmbh/crispy-octo-barnacle#8). Content fill-in + Cloudflare Pages setup still pending.

Knowledge Base

Monorepo consolidation (see 002-monorepo-consolidation)

Phased plan:

  • Phase 0 (done): Knowledge base standalone at renewa-gmbh/renewa-knowledge-base
  • Phase 1 (not started, est slipped from May): Triage bot → Linear directly, archive fluffy-doodle, consolidate issues into bookish-broccoli. Note: PR#1888 (GitHub Issues as planning source of truth) strengthens the bookish-broccoli-issues half of this plan.
  • Phase 2: Move knowledge base into bookish-broccoli/knowledge-base/ as a directory
  • Phase 3: Evaluate remaining repos case-by-case

Near-term wiki work

  • First Tier 2 cross-project topic pages (when clearly needed): auth, data-flow (CRM → BigQuery → RENEWA One → HubSpot), integrations/hubspot
  • Flesh out Hannes’s 79 RENEWA One sub-pages as features ship
  • Close the *.pages.dev Zero Trust gap (tracked, low priority)

Other

CraftCMS (new since last sweep)

Upgrade train open: Craft 4 → Craft 5 → PHP 8.5 + Fly.io staging environment (renewa-gmbh/craftcms#30#34). Driven by the May Redis-outage incident. See index.

Config / Cloudflare

  • Terraform migration under consideration for Cloudflare IaC (not yet scheduled)

CRM (Azure DevOps)

No roadmap items surfaced in this sweep.

Populate further as plans crystallize.