rooom V3 — Umsetzungsstand (Vorschau)

Dies ist keine Produktoberfläche und kein Abnahmebeleg. Die Seite zeigt, was im Repository rooom3 belegt ist — Register, Entscheidungen, Migrationen, Prüfstand — und was laut Sollliste fehlt. Nichts davon ist abgenommen: not_run ist kein Erfolg.

Was steht

Register der Spezifikation

6 Register unter spec/; die Statusverteilung ist je Register vollständig aufgezählt.

RegisterIDsEinträgeStatusverteilung
AnforderungenV3-001V3-1301304 in_progress, 126 proposed
AbnahmetestsAT-001AT-1301304 in_progress, 126 not_run
BenchmarksBM-001BM-04646Schwelle: 46 proposed; Ausführung: 46 not_run
ArbeitspaketeWP-001WP-0545454 planned
EntscheidungenD-01D-20203 decided, 17 open
JourneysJ01J141414 not_implemented

In Arbeit (Anforderungen mit anderem Status als proposed): V3-006 Gemeinsamer Fachkern (in_progress, G1), V3-011 Atomare Revisionen (in_progress, G1), V3-012 Idempotency (in_progress, G1), V3-013 Undo und Redo (in_progress, G1).

Anforderungen nach Gate

GateAnforderungen
G011
G154
G249
G316

Architekturentscheidungen (ADR)

8 ADR-Dateien unter spec/architecture/adr/; Status ist die Statuszeile je Datei bis zum ersten Satzende (Markdown entfernt), die Verteilung zählt ihr erstes Wort: 7 Angenommen, 1 Vorgeschlagen. Getroffene Entscheidungen des Registers: D-01 Three.js-WebGPU-Splat-XR-Kombination (ADR-0001), D-10 Custom-Code-Vertrauensmodell (ADR-0005), D-12 Pilotscope und Reihenfolge (ADR-0003).

ADRTitelStatus
ADR-0001Rendering-Engine für rooom V3Angenommen — mit Risiko-Gates (Abschnitt 5)
ADR-0002Anwendungsstack: Nuxt für das Studio, framework-frei für das Embed, Fastify für den KernAngenommen
ADR-0003Pilotscope: J01 + J03 als erster Vertical SliceAngenommen — teilweise
ADR-0004Datenmodell und Mandantentrennung ab der ersten MigrationAngenommen und angewendet (2026-09-13)
ADR-0005Erweiterungen: Vertrag zuerst, Isolation nach VertrauensstufeAngenommen mit Änderungen (2026-09-13), siehe Nachtrag A
ADR-0006Annahmenkatalog des FachkernsVorgeschlagen — jede Zeile ist eine Annahme, keine Freigabe
ADR-0007Authentifizierung der Zugänge (HTTP, MCP, SDK)Angenommen, Variante C/A umgesetzt (2026-09-14)
ADR-0008Anmeldung von Agenten und DienstenAngenommen (2026-09-15) — Betreiberentscheidung per Frage-Werkzeug, Nachtrag B

Datenbank

Auf dem Supabase-Projekt rooom3 angewendete Migrationen laut db/angewendet.json: 5 von 5 Migrationsdateien. Keine gebaute Migration wartet auf Anwendung.

MigrationZielAngewendet am
0001_mandanten_szenen_commands.sqlrooom32026-09-13 07:58 UTC
0002_rls_mengenbasiert.sqlrooom32026-09-13 18:19 UTC
0003_anmeldung_principal_aufloesung.sqlrooom32026-09-14 11:09 UTC
0004_anmeldung_agenten_mandate.sqlrooom32026-09-14 17:59 UTC
0005_freigabe_fristkette_kaskade.sqlrooom32026-09-15 22:48 UTC

CREATE-Anweisungen in den Migrationsdateien (Quelltext ohne Kommentare, per Muster gezählt — Anweisungen, nicht Objekte; create or replace ersetzt und zählt trotzdem):

ArtAnweisungen
Tabellen17
Funktionen39
Policies22
Trigger39

Threat Model

spec/security/threat-model.md führt 31 Bedrohungen (T-) und 31 Negativtests (N-). Die Negativtests sind Pläne; ihr Ausführungsstand steht in der jeweiligen Zeile.

Prüfstand

ops/verify.mjs prüft in dieser Reihenfolge (14 Schritte):

  1. Spezifikation: Konsistenz
  2. Spezifikation: Negativtest
  3. Typecheck: packages/contracts
  4. Typecheck: packages/scene-document
  5. Typecheck: packages/commands
  6. Typecheck: packages/transport
  7. Typecheck: packages/auth
  8. Typecheck: packages/renderer-three
  9. Typecheck: apps/api
  10. Tests
  11. Architektur: Negativtest
  12. Command-Kern: Negativtest
  13. Datenbank: Verhaltenstest (PGlite)
  14. Datenbank: Negativtest (PGlite)

Konsistenzprüfung der Spezifikation (ops/spec-check.mjs) beim Erzeugen dieser Seite — bestanden, 12 Regeln grün, 0 Warnungen:

Was fehlt

Soll und Ist im Repository

Sollliste aus CLAUDE.md §3 (Apps, Pakete, Worker, Python-SDK): 5 vorhanden, 23 fehlen. Ein Verzeichnis entsteht erst, wenn der erste Slice es braucht — „fehlt" ist hier Plan, kein Defekt. Vorhanden, aber in der Sollliste nicht genannt: apps/status, packages/auth, packages/transport.

VerzeichnisStand
apps/studiofehlt
apps/viewerfehlt
apps/apivorhanden
apps/mcp-serverfehlt
apps/session-serverfehlt
packages/contractsvorhanden
packages/domainfehlt
packages/scene-documentvorhanden
packages/commandsvorhanden
packages/runtime-corefehlt
packages/renderer-threevorhanden
packages/materialsfehlt
packages/placementfehlt
packages/navigationfehlt
packages/interactionsfehlt
packages/mediafehlt
packages/collaborationfehlt
packages/avatarfehlt
packages/xrfehlt
packages/streamingfehlt
packages/sdkfehlt
packages/provider-adaptersfehlt
packages/modeling-contractsfehlt
packages/modeling-corefehlt
packages/geometry-kernelfehlt
packages/modeling-sdk-tsfehlt
workers/fehlt
python/fehlt

Offene Entscheidungen am Gate G0

Dem Gate G0 zugeordnete offene Entscheidungen: 6 (Sicherheits-, Kosten-, Vertrags- und Rendering-Gates werden nicht erfunden):

Journeys

14 von 14 Referenzabläufen sind nicht umgesetzt. Pilotscope laut spec/journeys/catalog.json: J01, J03.

JourneyTitelGateStatusPilot
J01Einsteiger baut einen ShowroomG1not_implementedja
J02Erzeugen an einem konkreten OrtG2not_implemented
J03Agent verändert eine ExperienceG1not_implementedja
J04Website steuert ein ProduktG2not_implemented
J05Gemeinsamer Raum auf Desktop und HeadsetG2not_implemented
J06Agentur verwaltet KundenG2not_implemented
J07Modell ersetzenG2not_implemented
J08Große Welt benutzenG2not_implemented
J09Entwickler erweitert ein TrainingG2not_implemented
J10Engineering-Inhalt veröffentlichenG2not_implemented
J11Hochwertiges Bild erstellenG2not_implemented
J12Bestandsvorlage übernehmenG2not_implemented
J13Ein Agent baut und ändert ein echtes ObjektG2not_implemented
J14Parametrische Welt plus vorhandene AssetsG2not_implemented

Benchmarks

46 Benchmarks stehen auf not_run. Alle Grenzwerte sind Startbudgets, keine Messergebnisse; kein Benchmark gilt als bestanden, solange das Referenzgerät nicht benannt ist.

BenchmarkTitelGate
BM-001Traceability und GateintegritätG0
BM-002Command-, Revisions- und Undo-VerhaltenG1
BM-003Semantischer glTF-RoundtripG1
BM-004Einfügen und Gruppen ohne AnleitungG2
BM-005InteraktionslatenzG1
BM-006Placement-KorrektheitG1
BM-007Material- und TriplanarqualitätG1
BM-008Rendererparität und GeräteverlustG1
BM-009Mesh-/Splat-IntegrationG1
BM-010Erste sinnvolle DarstellungG2
BM-011Leichtgewichtiger ViewerG2
BM-012Stetige FramearbeitG2
BM-013Streaming und SpeicherplateauG2
BM-014XR-Qualität und KomfortG2
BM-015AR-Maßstab und ExportG2
BM-016Semantische AI-AufgabenG2
BM-017Agenten- und MandantensicherheitG1
BM-018Python-/Code-/Shader-IsolationG2
BM-019Provider- und KostenwiederholungG2
BM-020Live API und EmbedsG1
BM-021Medienflächen und FreigabenG2
BM-022Realtime, Rejoin und PrivatzonenG2
BM-023Avatar-Rig und GestenG2
BM-024Navigation und ToursicherheitG1
BM-025Gamification und FahrzeugeG3
BM-026Publish, Cache und RollbackG2
BM-027Unternehmens- und AgenturworkflowG2
BM-028Analytics und AbrechnungstrennungG2
BM-029OpenUSD-Semantik und ÄnderungsabgleichG3
BM-030Renderjobs und Fidelity-HerkunftG3
BM-031Legacy-/Template-MigrationG2
BM-032Recovery und BetriebsbereitschaftG2
BM-033Vollständiger Golden PathG2
BM-034QA-Reparatur ohne TestabschächungG0
BM-035Engine- und ErweiterungsvergleichG0
BM-036Konsolidierung und Modeling-SchemaG0
BM-037Python-/TS-/MCP-/UI-ParitätG1
BM-038Geometrie-KorrektheitskorpusG1
BM-039Topologie, Material und PartstabilitätG1
BM-040Parametrischer Roundtrip und ProvenienzG1
BM-041Script-/Rechte-/LizenzisolationG2
BM-042Modeling-Ressourcen und KostenG2
BM-043J13 Tresen ohne BlenderG2
BM-044J14 Halle für Mensch und AgentG2
BM-045Modeling-DevEx und SemantikG2
BM-046Optionaler CAD-/DCC-SubsetG3