Skip to content

feat(showcase): public case study page with the sample flow (#75) - #114

Merged
Fluory merged 2 commits into
mainfrom
claude/feat-case-study-75
Oct 9, 2026
Merged

Fluory merged 2 commits into
mainfrom
claude/feat-case-study-75

Conversation

@Fluory

@Fluory Fluory commented Oct 8, 2026 •

Copy link
Copy Markdown
Owner

Warum

Fixes #75 · Epic #19 · Umsetzung der Orchestrator-Entscheidung vom 2026-09-28 (öffentliche, statische Seite in der App) · Go am 2026-10-09

Arbeitsstand

  • Ziel: Ein Besucher ohne Konto versteht nach 30 Sekunden Problem, Zielgruppe und Ergebnis – bevor er sich anmeldet.
  • Nicht-Ziele: Gastzugang ohne Konto, Marketing-Site, Änderung am Login oder an der Auth-Prüfung anderer Routen.
  • Erledigt: Seite /case-study (statisch, ohne Session/Datenzugriff), drei Screenshots der Musterfälle (synthetisch), Link von der Startseite für Besucher ohne Konto, E2E-Spec, README (Showcase-URLs + Screenshot), CHANGELOG, Architekturkarte.
  • Offen: frischer Review, Merge. (Audit-Blocker behoben in fix(deps): Next.js 16.3.8 and patched transitive packages; dated braces exception (#115) #116, main eingemergt.)
  • Annahmen: Die Screenshots stammen aus dem zweiten Seed-Mandanten (Beispielwerk Nord AG), weil dessen Liste lokal nur die zwei Musterfälle enthält.
  • Nächster kleinster Schritt: Review.

Was ist passiert (Klartext)

Wer den Showcase-Link bisher öffnete, landete direkt auf dem Login und erfuhr nicht, was RequestFlow eigentlich macht. Jetzt gibt es eine öffentliche Fallstudien-Seite: Sie erklärt das Problem im Vertriebsinnendienst, was die KI vorschlägt und was der Mensch entscheidet, die vier Schritte bis zur genau-einmal-Übergabe ans ERP, zeigt drei Bilder der vorbereiteten Musterfälle und nennt ehrlich die Grenzen (z. B. dass eine Zeitersparnis noch nicht gemessen ist). Die Seite liest weder eine Anmeldung noch Daten aus der Datenbank; alle anderen Seiten bleiben wie bisher geschützt. Die Startseite verlinkt sie für Besucher ohne Konto, und das README nennt jetzt die Showcase-Adresse.

Plan-Pflicht (SYSTEM.md §4)

  • Kein Auslöser – keine Modulgrenze, öffentliche API, Migration, Auth/Rechte, kein Zahlungs-/Daten-/Infrapfad, höchstens zwei Module, keine Architekturvarianten, umkehrbar
  • Auslöser zutreffend – Impact Manifest ausgefüllt (Plan vor Code)

Impact Manifest

  • Betroffene Module: app (neue Route src/app/case-study/, Link in src/app/page.tsx, CSS-Import im Layout; statische Bilder public/case-study/).
  • Schnittstellen / Datenänderungen: neue öffentliche Seite /case-study; keine API, keine Migration, kein Datenzugriff.
  • Akzeptanzkriterien: die fünf aus docs(showcase): public case study page with a guided entry to the sample request #75 (öffentlich, Ablauf; Screenshots synthetisch + gekennzeichnet; Link zum Login und von dort zum Musterfall; präzise Aussagen statt „erfindet nichts“; Links auf Evidenz-Seite und Repo).
  • Testplan: E2E case-study.spec.ts: ohne Session 200, Kundenname des geseedeten Musterfalls erscheint nicht (Daten-Kanarienvogel), keine App-Navigation, Links + Bilder erreichbar; danach Login → „Nächster Schritt“ → Musterfall.
  • Verifizierte Fakten: Es gibt keine zentrale Middleware – jede Seite prüft ihre Session selbst (requestActor()); die neue Seite ruft weder requestActor() noch ein Modul auf. Aussagen auf der Seite gegen Code geprüft: Duplikate „flagged and linked, never discarded“ (intake/submit.ts:37), Zitat-Markierung (review-parts.tsx:58), ERP-Referenz (requests/[id]/page.tsx:77), 11 Entscheidungen in ADR-0001.
  • Offene Annahmen: keine.
  • Nicht-Ziele: Gastzugang, Änderung an Auth/Login.
  • Risiken und Rollback: Risiko: falsche Aussagen auf einer öffentlichen Seite → jede Aussage belegt, Grenzen benannt. Rollback: Revert des PR (rein additive Route).

Geändert

  • src/app/case-study/page.tsx (neu): statische Fallstudie, Metadaten, Links auf Evidenz, ADR-0001, Pilotvorschlag, Repo
  • src/app/case-study.css (neu) + Import in src/app/layout.tsx: Leselayout auf den Pilot-Tokens
  • src/app/page.tsx: Link „So funktioniert RequestFlow – Fallstudie lesen“ für Besucher ohne Konto
  • public/case-study/{requests,review,exported}.png (neu): Screenshots der Musterfälle bei 1280 × 800, synthetisch
  • tests/e2e/case-study.spec.ts (neu)
  • README.md, CHANGELOG.md, docs/technical/architecture.md

Nachweis (SYSTEM.md §11)

  • verify:changed: grün – eslint + tsc auf den geänderten Dateien
  • verify: grün – CI check Run 37976980750 (Label verify-full, inkl. E2E)
  • verify:full / E2E-Spec: lokal alle vier Specs grün (case-study, sample-smoke, line-items-smoke, review-smoke)
  • Manueller Prüfnachweis: Screenshots einzeln angesehen – zeigen die zwei Musterfälle, „KW 48 · unsicher“ mit markiertem Zitat, Export mit ERP-Referenz; nur example.com-Daten
  • Frischer Review (P1 vor Ready-for-review; Architektur/API/DB immer): noch offen

Doku-Entscheidung (genau eine)

  • Keine langlebige Doku betroffen – Begründung: –
  • Doku betroffen und im selben PR aktualisiert:

Entferntes oder Umbenanntes: docs/ + README gegrept, Treffer bereinigt: nichts entfernt

Dateigrößen und neue Bausteine (SYSTEM.md §7)

Dateien über 500 Zeilen im Diff (Ausnahmen: generierter Code, Lockfiles, Fixtures, Migrationen, Schemas, Ressourcen, Doku, Konfiguration):

  • keine
  • bewusst belassen – Begründung: –
  • im selben PR nach fachlicher Verantwortung geteilt
  • Folge-Issue –

Über 800 Zeilen mit neuer Fachlogik oder über 1000 Zeilen (P1/P2): nicht betroffen

Neue Shared-Komponente, Utility-Datei, Adapter oder fachlicher Service:

  • nein
  • ja – gesucht nach: –

Subagent-Einsätze

  • keine bisher (frischer Review folgt)

Risiken / offene Punkte

  • Die Screenshots veralten, wenn sich die Prüfansicht ändert; sie stammen von 335ef17.
  • „Choose Files“ im Listen-Screenshot ist die englische Systembeschriftung der Headless-Chromium-Variante; im deutschen Browser steht dort „Dateien auswählen“.

🤖 Generated with Claude Code

Visitors without an account landed on the login and could not tell what
RequestFlow does. /case-study states the problem, the target group, the
split between AI and person, the four steps up to the exactly-once ERP
export, screenshots of the prepared samples and the limits - static
content, no session lookup, no data access. The logged-out start page
links to it; README carries the showcase URLs and a screenshot.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
requestflow Ready Ready Preview Oct 9, 2026 7:09pm UTC
requestflow-ai Error Error Oct 9, 2026 7:09pm UTC

@Fluory Fluory added the verify-full Run verify:full (integration + E2E) in CI label Oct 9, 2026
@Fluory
Fluory marked this pull request as ready for review October 9, 2026 19:10
@Fluory

Fluory commented Oct 9, 2026

Copy link
Copy Markdown
Owner Author

Frischer Review (Reviewer-Rolle)

Geprüft: Issue #75 (5 Akzeptanzkriterien, Testplan), Diff ohne PNGs, CI.

Akzeptanzkriterien: (1) öffentlich/statisch, Problem, Zielgruppe, KI vs. Mensch, Ablauf in 4 Schritten – erfüllt. (2) Drei Screenshots, als synthetisch gekennzeichnet (Hinweis + Fußzeile) – erfüllt. (3) Link zum Login (/login) und Hinweis auf „Nächster Schritt“ → Musterfall; E2E deckt Login → Musterfall ab – erfüllt. (4) Präzise Aussagen: Zitat muss an der Stelle wiedergefunden werden; Grenzen benannt (Zitat ≠ fachlich richtig, Injection-Zitat, 15 synthetische Fälle, aufgezeichnete Antworten, ERP simuliert, Zeitersparnis ausdrücklich nicht behauptet) – erfüllt. (5) Links auf Evidenz, ADR, Pilotvorschlag, Repo; Ziel-Dateien existieren auf main – erfüllt.

Security: page.tsx ruft weder requestActor() noch Session/DB/Module; einziger Import Brand ist reine Link-Komponente (ohne requestActor, anders als der Header daneben). Keine Änderung an Auth anderer Routen, keine neuen Secrets, rein additiv.

Befunde

  1. [Note] – tests/e2e/case-study.spec.ts – „keine Daten“ wird nur über einen Kunden-Kanarienvogel und fehlende Navigation geprüft – gering, weil die Seite strukturell keinen Datenzugriff hat – optional später Netzwerk-/Cookie-Assertion ergänzen.
  2. [Note] – page.tsx Links – externe GitHub-Links blob/main/... brechen bei Umbenennung/privatem Repo – für Showcase akzeptabel.
  3. [Note] – Check „Vercel – requestflow-ai“ ist rot (separates Vercel-Projekt, nicht Teil der Pflicht-Checks; check und requestflow grün) – separat prüfen, nicht PR-bedingt.

Doku/Qualität: README, CHANGELOG [Unreleased], Architekturkarte aktualisiert; neue Dateien liegen im Modul app (+ public/); Alt-Texte, aria-labelledby, semantische Überschriften/Listen, nativ fokussierbare Links vorhanden. CI check grün (E2E inkl. neuer Spec), compose-smoke grün.

Verdict: Freigabe – keine Blocker, keine Important-Befunde. Merge folgt.

@Fluory
Fluory merged commit 53da62d into main Oct 9, 2026
6 of 11 checks passed
@Fluory
Fluory deleted the claude/feat-case-study-75 branch October 9, 2026 19:16

This branch had an error being deployed

1 failed and 1 active deployments
Preview – requestflow — 5f4b00ce Deployed Oct 9, 2026 by vercel[bot]
Preview – requestflow-ai — 5f4b00ce Deployed Oct 9, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

verify-full Run verify:full (integration + E2E) in CI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs(showcase): public case study page with a guided entry to the sample request

1 participant