Skip to content

Verantwoordelijkheden

Het kernprincipe van Seifer, uitgeschreven.

De grensregel

Elke stage leest de output van de vorige als read-only bron van waarheid en schrijft alleen in zijn eigen laag. Geen enkele stage grijpt terug in de laag van een ander.

Dat maakt de keten herhaalbaar en veilig genoeg voor een agent: voorstel → goedkeuring, geen volledige autonomie.

Per stage

Stage 1 · solution-explorer — "wat & waarom"

BezitHet probleem, de markt, de personas, de MVP-scope, user-stories + acceptatiecriteria, de technische richting, de wireframe. Samengevat: de documentatie/ (productdefinitie).
Doet NIETCode schrijven, tech-stack afdwingen als config, deploy-config maken.
Levert opdocumentatie/ als bron van waarheid voor intentie.

Stage 2 · scaffolder — "hoe het gebouwd is (skeleton)"

BezitDe code-spine (config → persistence → mailer → auth → http-kernel), de plumbing (.scaffolder/manifest.json), de versie-pinning, en sync.
Doet NIETBusinesslogica of entiteitsvelden verzinnen — dat vult een mens/agent in de seams modules.ts + domain-migrations.ts. En hoort geen productie-/ops-artefacten te bezitten — zie naad B; dat is vandaag een botsing.
Levert opapp/ + .scaffolder.json + manifest.

Stage 3 · deployment — "waar & of het draait"

BezitDe connectie-artefacten (co-host docker-compose.yml, proxy/Caddyfile, deploy.env, registry-CI), platform.yaml, provisioning, secrets-store, status/health/TLS/in-sync, audit + rollback.
Doet NIETApp-code of productdefinitie schrijven — expliciet out-of-scope in onboard-solution.
Levert opEen live, geverifieerd, declaratief geregistreerd product.

Mens / operator — de gates

Ideeën en Go/No-Go-beslissingen. Het invullen van businesslogica (entiteitsvelden) in de seams. Secret-waarden (Hetzner-token, GHCR-token, Resend-key). Domein en DNS. Goedkeuring van kosten (host apply) en productie (up). Het git-repo en de provider-tokens.

De matrix (RACI-licht)

Activiteitexplorerscaffolderdeploymentmens
Probleem/markt/scope bepalenAC
Productdefinitie (documentatie/)AC
Go/No-Go bouwenA
scaffolder.config.yaml afleidenCAR
App-code / spine genererenA
Businesslogica / velden invullenCRA
Connectie-artefacten + platform.yamlCA
Host provisionen (kosten)RA
Secrets / domein / DNSRA
Deploy uitvoeren (productie)RA
Verifiëren (health/TLS/sync)AC
Deploy-metadata contractCAR

A = accountable/eigenaar · R = doet het werk · C = geconsulteerd.

Waar de regel vandaag gebroken wordt

Twee plekken, allebei in naad B:

  1. De scaffolder emit deploy-CI (app/.github/workflows/…) — dat is een ops-artefact in de code-laag. Bovendien op een plek die GitHub niet leest, met push: false.
  2. Compose-eigenaarschap. De scaffolder emit een dev-compose die sync bezit; deployment wil een co-host-compose. Opgelost door ze fysiek te scheiden (root vs app/), maar dat is impliciet in plaats van vastgelegd.

Beide staan in het doelcontract van naad B om recht te trekken.

Seifer — interne documentatie. Bron van waarheid blijft de repo zelf.