the-custodian/workplans/archived/260710-CUST-WP-0058-business-platform-enablement.md

209 lines
8.2 KiB
Markdown
Raw Normal View History

---
id: CUST-WP-0058
type: workplan
title: "Business platform enablement — decisions, service contract, client plane"
domain: infotech
repo: the-custodian
status: finished
owner: codex
topic_slug: custodian
created: "2026-07-10"
updated: "2026-07-10"
state_hub_workstream_id: "13a991a3-6d98-4749-9639-dd4687cce55e"
---
# CUST-WP-0058 — Business Platform Enablement
## Goal
Enable Binky Hedgehog GmbH commercial offerings on the coulomb/HelixForge
platform by (a) resolving the three gating platform decisions, (b) codifying
what every client-facing business application must provide, and (c) scoping
the missing client/commercial management plane — so that **vergabe-teilnahme**
(first business project) and the **coulomb.social rebuild** (second) land on
a governed, extensible path rather than ad hoc wiring.
This is a *coordination* workplan: implementation lands in the owning repos
(`vergabe-teilnahme`, `fin-hub`, `ops-hub`, `core-hub`, railiance repos).
The Custodian owns decisions, canon, and cross-repo sequencing per ADR-001.
## Background
- Hub-ecosystem review 2026-07-09: architecture sound (hub-core / state-hub /
core-hub compose-don't-merge, `CUST-WP-0057`); gaps are a missing
client/commercial plane and three unrecorded decisions.
- Decision framing: `docs/business-platform-decision-records.md` (DR-1
tenancy, DR-2 coulomb.social shape, DR-3 external identity).
- fin-hub MVP (cost tracking, runway, RaaS pricing MVP) shipped via
`FIN-WP-0000/0001`; **client-facing billing** remains open.
- Delivery lane pattern proven for Core Hub
(`docs/core-hub-helixforge-build-alignment.md`): commit-SHA images →
`gitea.coulomb.social` registry → railiance-apps release values →
evidence gates.
## Non-goals
- Implementing vergabe-teilnahme features (owned by that repo)
- Rebuilding coulomb.social (blocked on DR-2; owned by its future repo)
- Building client-hub (this plan only *scopes* it; implementation gets its
own workplan in the owning repo)
- Payment execution / invoicing mechanics (fin-hub scope decision)
## Tasks
### T01 — Facilitate and record DR-1: tenancy model
```task
id: CUST-WP-0058-T01
status: done
priority: high
state_hub_task_id: "b7130553-a3d9-4dfd-91d7-6edb503bab58"
```
**Resolved 2026-07-10: Option C (hybrid)** — instance-per-client to start,
early cost-optimization move. Hub decision `d85cd185…`; doc updated with
consistency Refinement 1 (consolidation-ready data model required by the
service contract; consolidation is a DR-3 identity trigger). No
vergabe-teilnahme SCOPE change needed for v1 (stays single-tenant deployed).
### T02 — Facilitate and record DR-2: coulomb.social architecture
```task
id: CUST-WP-0058-T02
status: done
priority: medium
state_hub_task_id: "ec09753e-ecef-4368-af5d-5e295cdbda1e"
```
**Resolved 2026-07-10: Option B (standalone application)** — hub decision
`1f8b109e…`. coulomb.social is its own app with a distinct ops model; Binky
Hedgehog GmbH acts as client #1 of its own platform, consuming the same
delivery lane and service contract as external-client apps. The bubble.io
data-migration assessment and rebuild workplan skeletons are seeded in T08.
### T03 — Facilitate and record DR-3: external identity path
```task
id: CUST-WP-0058-T03
status: done
priority: high
state_hub_task_id: "ffead70c-2179-46ba-a70a-cf13be87eef8"
```
**Resolved 2026-07-10: Option A (app-local accounts)** — hub decision
`ebcf0573…`, demand-gated Keycloak follow-up. Refinement 2 replaces the
"coulomb.social auto-trigger" with three demand triggers (client SSO/AD
request; instance consolidation; local-account toil across >2 apps).
NetKingdom lane notified 2026-07-10 (message `0d238b6e…`). Identity baseline
for T04: app-local accounts, consolidation-ready.
### T04 — Author business-app service contract (canon standard)
```task
id: CUST-WP-0058-T04
status: done
priority: high
state_hub_task_id: "a3cec70c-04a1-42a9-a6b0-3d2943b73968"
```
Draft `canon/standards/business-app-service-contract_v0.1.md` (proposal →
human review, per canon gating): obligations every client-facing app must
meet — build evidence (commit-SHA images, registry), backup/restore hooks
into ops-hub, incident/runbook registration, cost attribution keys for
fin-hub, **app-local identity baseline (DR-3 A)**, data-protection baseline,
**instance-per-client provisioning/upgrade duties (DR-1 C)**, and
**consolidation-ready data model** (Refinement 1: tenant-keyed data even when
deployed single-tenant). Applies equally to client apps and Binky Hedgehog's
own apps (coulomb.social — DR-2 B "client #1" model). vergabe-teilnahme is
the reference implementation. Unblocked: DR-1/DR-3 resolved 2026-07-10.
### T05 — Scope client-hub (client/commercial plane)
```task
id: CUST-WP-0058-T05
status: done
priority: medium
state_hub_task_id: "442b7f81-44c7-4301-9466-c99c240c4e49"
```
Write a scoping note (`docs/client-hub-scoping.md`) for the missing fourth
management plane: client registry, contracts/entitlements, client↔instance
mapping, support/SLA state. Default shape: **core-hub extension** (ops-hub
pattern) reusing hub-core primitives — justify any deviation. Per DR-1 C the
client↔instance model is 1..n instances per client, consolidation-aware;
Binky Hedgehog GmbH itself is client #1 (DR-2 B). Output is a draft workplan
skeleton for the owning repo, not implementation. Unblocked: DR-1 resolved.
### T06 — fin-hub client-billing gap assessment
```task
id: CUST-WP-0058-T06
status: done
priority: medium
state_hub_task_id: "3a63f122-2398-4149-8458-eb5a3a54627c"
```
Review `FIN-WP-0000/0001` outcomes against what commercial clients need:
per-client cost attribution, price-to-invoice data flow, and where the
fin-hub "no payment execution / no multi-tenant billing" boundary should
move (or which external system owns billing). Output: gap list + proposed
FIN-WP workplan skeleton posted to the fin-hub lane.
### T07 — Delivery-lane pilot: vergabe-teilnahme end-to-end
```task
id: CUST-WP-0058-T07
status: done
priority: high
state_hub_task_id: "d07443ab-76b1-4d66-981c-e83fcb915c0d"
```
Coordinate one full pass of the business delivery lane with a real (or
pilot) client instance: vergabe-teilnahme build → immutable image in
`gitea.coulomb.social` registry → railiance-apps release values → deployed
instance → ops-hub evidence (endpoint, backup, smoke) → fin-hub cost
attribution. **Done 2026-07-10 as a conformance snapshot** — the lane was
already live (image `f95de14` at vergabe-teilnahme.whywhynot.de, 49d):
build/registry/deploy/smoke PASS; four contract gaps found and handed to
owners (tenant keying → vergabe-teilnahme; ops-hub registration → ops-hub;
**cnpg backups missing on ALL four prod DB clusters** → railiance-apps,
HIGH, message `a1957cce…`; cost attribution → fin-hub FIN-WP-0002).
Evidence: `docs/evidence/vergabe-teilnahme-delivery-lane-20260710.json`.
### T08 — Closeout: decisions recorded, downstream workplans seeded
```task
id: CUST-WP-0058-T08
status: done
priority: low
state_hub_task_id: "203f7afa-0162-4906-a4f2-c4789cd127bc"
```
**Done 2026-07-10.** DR-1/2/3 resolved; service contract accepted in canon.
Handoffs delivered: fin-hub FIN-WP-0002 (msg `9c8e8ed4…`), core-hub
CLNT-WP-0001 (msg `17f8c11b…`), vergabe-teilnahme gaps (msg `f49d2651…`),
ops-hub registration (msg `f0374952…`), railiance-apps backup HIGH
(msg `a1957cce…`), NetKingdom NK-WP-0011 triggers (msg `0d238b6e…`).
coulomb.social rebuild seeded in `docs/coulomb-social-rebuild-seed.md`
(no owning repo yet — created at project registration). SCOPE.md updated.
## Sequencing
```text
[DR-1 ✓, DR-2 ✓, DR-3 ✓ — resolved 2026-07-10]
T03 (NetKingdom trigger message) — small, immediate
T04 (contract) ──> T07 (delivery-lane pilot)
T05 (client-hub scope) — unblocked, parallel to T04
T06 (fin-hub gap) — independent, anytime
T08 (closeout: seed coulomb.social rebuild + bubble.io migration skeletons) — last
```
## References
- `docs/business-platform-decision-records.md` — DR-1/2/3 framing
- `docs/hub-ecosystem-architecture.md` — three-layer hub canon
- `docs/core-hub-helixforge-build-alignment.md` — delivery lane pattern
- `/home/worsch/vergabe-teilnahme/SCOPE.md` — first business app
- `/home/worsch/fin-hub/workplans/` — FIN-WP-0000/0001 (finished)