APP_ACCESS.APP_DEFINITIONS.darkweb.level ist 12. DARKWEB.requireAccess() verlangt Level 20. Entscheidung nötig: UI-Gate auf 20 anheben oder Service-Regel auf 12 senken; anschließend Texte und Tests gemeinsam anpassen.Diese Seite trennt bestätigte Codeabweichungen von bewusster Kompatibilität. Sie ist als Checkliste für kommende Patches gedacht.
APP_ACCESS.APP_DEFINITIONS.darkweb.level ist 12. DARKWEB.requireAccess() verlangt Level 20. Entscheidung nötig: UI-Gate auf 20 anheben oder Service-Regel auf 12 senken; anschließend Texte und Tests gemeinsam anpassen.PLANT, LAMP, WEED_INVENTORY, CRYPTO_CURRENCY_API und USER_API direkte LocalStorage-Zugriffe. Das ist überwiegend Kompatibilität, erhöht aber die Gefahr neuer Zwei-Quellen-Fehler.README.md, Patchpläne und Audits enthalten Historie. Für aktive Regeln sind Kataloge, Services und Validatoren maßgeblich.| Datei | Befund | Empfehlung |
|---|---|---|
ENGINE.js | leere Klasse, keine aktive Importkante | entfernen oder klare künftige Rolle dokumentieren |
ECONOMY_API.js | kleiner Altadapter, nicht im aktiven Modulgraph | gegen ECONOMY_SERVICE prüfen und ausmustern |
ITEM_API.js | separate ältere Item-API, aktiver Pfad nutzt ITEM_CATALOG + INVENTORY_SERVICE | Importe verbieten oder konsolidieren |
PLANT_VISUAL_STATE.js | reine alternative Bildzustandslogik ohne aktive Importkante | mit PLANT_IMAGES zusammenführen oder als Testmodul markieren |
SAVE_TRANSFER_TEST.js | Entwickler-/Testhilfe, kein Seiteneinstieg | in separates tests-Verzeichnis verschieben |
slotshop.html | nur Guards, kein eigenes produktives Modul im Snapshot | Route entfernen oder vollständigen Einstieg herstellen |
MINING_STORAGE.js | LocalStorage-Kompatibilitätsanzeige neben IDB-Mining | nur lesend halten; nicht für neue Buchungen verwenden |
CHEMISTRY_TABLE.js | ältere Fallback-API neben CHEMISTRY_TRANSACTIONS | Browserpfad konsequent auf IDB-Service halten |
Änderungen an Perioden, Visibility oder Strom müssen zugleich Lampenzähler, Pflanzenwachstum, Mining und activeClockAt berücksichtigen.
Neue Verkaufs-, Produktions- oder Inventaraktionen müssen unter offenem Polizeifall von assertPoliceFreeze() erfasst werden.
Jeder neue Verkaufskanal muss freeSaleStock, reserveSale, pruneSales und assertSales integrieren.
Neue State-Felder, die alte UI liest, benötigen eine explizite Mirror-Abbildung. Mirrorfelder dürfen umgekehrt nicht zur Commit-Basis werden.
Jede State-Versionsänderung braucht vor dem Upgrade ein unverändertes Backup, eine neue Upgrade-Funktion und eine strenge Validierung.
UI-Gates sind Komfort, keine Fachgarantie. Die Service-Schicht muss dieselbe Regel nochmals prüfen – aber mit denselben Konstanten.
TRANSACTION_MANAGER.commit().validate() oder einem aufgerufenen Regelvalidator ergänzen.prepareEconomy() aufbauen; Servicefehler sichtbar behandeln.| Bereich | Minimaler Test |
|---|---|
| Idempotenz | denselben eventId zweimal senden; nur ein Bestands-/Geldeffekt |
| Multi-Tab | zwei Seiten, konkurrierende Käufe/Verkäufe; keine verlorene Aktualisierung |
| Reset | alter Tab nach neuer Epoch darf nicht committen |
| Billing | aktive 15 Minuten, Hidden/Resume, Page Cache und Periodengrenze |
| Rechnungen | Teilzahlung, mehrere offene Belege, Hinweis schließen, Sperre/Entsperrung |
| Pflanzen | jede Lampe nur für ihre Pflanze; Stromsperre pausiert; Lager voll blockiert Ernte |
| Mining | Coinwechsel erhält Carry/Balance; keine Offline-Produktion; Claim nur einmal |
| Chemie | Queue, Cancel-Erstattung, volles Lager, Polizei-Freeze, Upgrade-Dauer |
| Verkauf | Tür- und Darkweb-Hold dürfen dieselbe Ware nicht überbuchen |
| Access | jedes Menü/App-Gate gegen Fachservice-Regel vergleichen |