# Validierung und Freigabegrenzen Nachtrag dev9: Der unveränderte Freeze `e0281fd5e0fd` bestand alle 38 externen Prüfungen; Quellen-/Checker-/Log-/Artefaktpins, exakte Prüfliste und Returncodes wurden mit `review-http-acceptance.py` geprüft. Nachweis: `../decentralhub-info/round4-dev9-http-reviewed.json`. Danach ergänzte [native I/O-/Recovery-Absicherung](NATIVE_STORAGE_FAILURES.md) benötigt eigene quellgebundene Nachweise. Ein privater 16-MiB-tmpfs-Test lieferte bereits echtes Kernel-ENOSPC für dev9; kein physischer Powerloss-/Hardware-Nachweis. Nachtrag Namespace-Entwicklung: Der erste gemeinsame Normal-/Race-Lauf (`namespace-offline-check-aa72bf3795d5.json` im Info-Projekt) blieb erhalten und ist **FAILED**. Beide Varianten reproduzierten denselben bereits vorhandenen Fehler beim gleichzeitigen nativen `PutObject`: Nach Installation des Objekts, aber vor Freigabe seiner Reservierung wurde die fehlende Stagingdatei als ungewisser Ausgang behandelt. Die übrigen 13 Prüfgruppen bestanden. Die Korrektur akzeptiert diesen Zwischenstand nur bei ENOENT und passend validierten Objektbytes, Größe und ID. Vor Reservierungsfreigabe synchronisiert auch der idempotente Writer Objektpräfix-, Objekte- und Stagingverzeichnis. Fehler behalten Reservierung und Unsicherheitsstatus. Deterministische Tests halten den ersten Writer an, lassen den zweiten abschließen und prüfen fehlende/falsche/verkürzte Objekte sowie einen Fehler direkt vor der Freigabe. Aktuelle quellgebundene Folgeergebnisse stehen separat in `namespace-offline-check-*.json`; sie ersetzen keine vollständige neue HTTP-/Browser-/TLS-/VPS- oder Powerloss-Abnahme. Nachtrag dev8: Quelle `4cf433c852a93a3b02af26759cc339580878030b25f1bdf012931d8844308c08` bestand alle37 Prüfungen des vollständigen externen HTTP-Pakets einschließlich Peer-Aktivierungsprozess. Quell-/Checker-/Logpins, unveränderter Freeze und alle Returncodes wurden geprüft: `../decentralhub-info/round4-dev8-http-reviewed.json`. Die danach implementierte [Namespace-Phase](NATIVE_NAMESPACE_CLI.md) benötigt eigene lokale und vollständige eingefrorene Nachweise. Echte Browser-/TLS-/VPS- und Produktionsgates bleiben separat. Nachtrag dev7: `4c0982b15b2c913e3359480b0f6c46f155742695507ed5be767559b92cd5e569` bestand alle 36 Prüfungen der vollständigen externen HTTP-Abnahme einschließlich des geschützten `/2`-Konflikt-Review-/Apply-Prozesspfads. Quell-/Checker-/Logpins, unveränderter Freeze und sämtliche Returncodes wurden nachgeprüft: `../decentralhub-info/round4-dev7-http-reviewed.json`. Spätere [Peer-Aktivierungsänderungen](PEER_ACTIVATION_CLI.md) benötigen eigene Nachweise. Der externe Lauf ersetzt keine reale Browser-/TLS-/Proxy-/VPS-Abnahme. Nachtrag Runde 4: Der eingefrorene dev6-Quellstand `e3d9d88bb8811ca8b0c166b9b19235e5a367a60c9c53a3540f7a36e0aae2fa07` bestand alle 35 Prüfungen des vollständigen externen HTTP-Pakets, einschließlich Normal-/Race-Suiten, Vet, Crossbuilds, Hosted-Anmeldung/Ciphertext/Widerruf/Restart und Offline-Konfliktartefakten. Root prüfte Quell-/Checker-/Logpins und alle Returncodes. Nachweis: `../decentralhub-info/round4-dev6-http-reviewed.json`. Das ist keine reale Browser-/TLS-/VPS-Abnahme. Der anschließend implementierte [resolved Review-/Apply-Pfad](RESOLVED_REVIEW_CLI.md) benötigt eigene scoped Tests und eine neue vollständige Quellfreeze-Abnahme. Ältere Aussagen unten bleiben historische, jeweils quellgebundene Nachweise. Externer HTTP-Nachweis Runde 3: Der eingefrorene Quellstand `db3781e7065ce5e4f22705e995b8f195ca15341e76508117f198e0ba543c6da7` bestand im normalen Linux-Terminal 30 protokollierte Prüfungen: vollständige Normal-/Race-Suiten, Vet, drei Crossbuilds, 22 CLI-/HTTP-Prozessgruppen und zwei Toolchainprüfungen. IPv4- und IPv6-Loopback waren verfügbar. Root hat Bericht, erwartete Prüfliste, unveränderten Quellhash und Artefakthashes nachgeprüft; `decentralhub-info/round3-http-freeze-verification.json` hält die Abgrenzung fest. Dieser Nachweis gilt für die eingefrorene Kopie vor Syntaxmemo, frühem Control-Deny und den neuen Epochen-Codecs. Er ist keine Produktionsfreigabe und kein Nachweis für den später veränderten Live-Quellbaum. Das installierte Binary und der private Quellcheckpoint 18 wurden dadurch nicht ersetzt. Aktueller Nachtrag Runde 3 (26.10.2026): Die historischen PASS-Angaben unten gelten jeweils für ihren damaligen Stand. Der aktuelle Quellbaum ergänzt Store/Transfer v2 und den Nur-Lese-Domainmodus; eine vollständige neue Abnahme steht aus. Diese Sitzung verweigert selbst Loopback-Sockets. Deshalb sind echte HTTP-Prozessprüfungen und vollständige Testsuiten mit Socketfixtures hier nicht als bestanden auszugeben. Die gezielten Codec-/Store-/Diagnose-/Vorprüfungs- und Presentationtests laufen ohne Sockets. Zusätzliche In-Memory-HTTP-Tests prüfen den realen Client/Handler mit Proofs, AEAD und realen Dateispeichern, ersetzen aber keine echte Netzwerk-/TLS-/Proxyabnahme. Maschinenlesbare aktuelle Nachweise werden separat unter `decentralhub-info/round3-*-check.json` geführt; der letzte vollständig abgenommene Stand bleibt Checkpoint 18. Der Store-v2-Prozesschecker aus dem Handoff hatte zuvor 33 Objekte mit 8.612.639 Ciphertextbytes gemessen. Das ist ein historischer Bericht, kein aktueller neuer Prozessdurchlauf und keine Messung des Bridge-v2-Transfers. Die neue reine Offline-Diagnose-CLI hat einen eigenen aktuellen Prozessbericht `private-store-inspect-cli-check.json`. Crossbuilds bestätigen keine Ausführung auf Windows. nginx ist hier nicht installiert; die Deploymentvorlagen sind nicht durch einen echten Reverse-Proxy-Start oder TLS-Handshake validiert. Stand: Masterplan-Fundament, Abschluss am 25. Oktober 2026 (Arbeit begonnen am 24. Oktober). Sicherheits-, Crash- und E2E-Tests verwenden künstliche Fixtures. Zusätzlich: lesende Verifikation von lokalen bestehenden registrierten Snapshot-Speichern mit Vergleich aller HEAD-IDs; unverändert. Keine Änderung oder Migration bestehender privater Projekte oder Registry bei dieser initialen Kompatibilitätsprüfung; spätere explizite App-Source-Checkpoints werden separat im lokalen Info-Projekt protokolliert. ## Nachweismatrix | Bereich | Ausgeführte Prüfung | |---|---| | DOP/1 | fünf fixe Python/SHA256-Vektoren gegen Go-Codec, Byte-/ID-Roundtrip, unbekannte Version/Typ/zusätzliche Bytes, Canonical-JSON-/Pfad-Negativtests | | Lokaler Speicher | Offline init/commit/log/verify/export, Ignore-Regeln, Korruption, .dh-/Objekt-Symlinks, Größen-/Pfadprüfung, CAS, unabhängige parallele Writer-Regression | | Prozessabbruch | neun separate os.Exit-Crashpunkte zwischen Datei-Sync, Objektinstallation, Snapshotkopie und HEAD-Sync; danach Verify/Recover/Lock-Freigabe | | Kompatibilität | festes Legacy-v1-Manifest, unveränderte ID/Bytes nach neuem Commit, historische Exporte und Browser-Regressionen | | Identity-Grundmodul | Delegation, Rechte-/Ablaufprüfung, gefälschter/korrekter Widerruf, Request-/Origin-/Audience-Bindung, paralleler Replay genau einmal | | HTTP-/Privacy | lokale Peer-Pagination, private Loopback-/Host-/Origin-Gates, keine privaten API-/MCP-Leaks, XSS/Traversal, Texte/Binär-/Großdateien/Leerzustände | | Node-Härtung | kein Environment-Proxy, gleiche URL-Policy für persistierte Peerlisten, privater Schlüssel mit inkonsistentem öffentlichen Anteil abgelehnt | ## Ausgeführte Abschlussprüfungen - `go test ./...`: bestanden. - `go vet ./...`: bestanden. - `go test -race ./...`: bestanden (CLI/HTTP 3,822 s, localrepo 1,198 s, objects 1,016 s, identity bestanden). - `go test ./internal/objects -run '^$' -fuzz FuzzDecode -fuzztime=10s -parallel=2`: bestanden, 717.260 Ausführungen, keine gefundene Fehlfunktion. Separater unabhängiger 5-Sekunden-Lauf: 362.267 Ausführungen, ebenfalls bestanden. Kurze Fuzz-Läufe sind kein Vollständigkeitsbeweis. - Builds mit `CGO_ENABLED=0`, `-trimpath`, `-buildvcs=false`: Linux amd64, Windows amd64 und Windows arm64 erfolgreich. **Keine** echten Windows-Läufe. - CLI-E2E gegen gebautes Linux-Binary: Unicode/Leerzeichen, Ignore-Regeln, Init → zwei CAS-Commits → stale CAS abgelehnt → Log/Verify → historischer Export → existierendes Ziel abgelehnt → Recovery-Tempfile-Cleanup: bestanden. - Alle fünf DOP-Vektoren separat per Python/hashlib geprüft und über echte CLI `object-check` validiert; zusätzliche Bytes werden abgelehnt. - Elf reale bestehende `.dh`-Historien per neuer CLI `verify` lesend geprüft: alle erfolgreich, sämtliche vorher aufgezeichneten HEADs unverändert. Die begleitenden maschinenlesbaren Berichte liegen im separaten Info-Projekt: `masterplan-cli-check.json`, `masterplan-compatibility-check.json`; die Skripte verwenden temporäre Workspace-Fixtures. Validierungsbinaries sind Entwicklungs- artefakte, keine signierten Produktionsreleases. ## Fortsetzung DH004/005 — 25. Oktober 2026 Erneut ausgeführt nach Integration des öffentlichen Transports: `go test -race ./...` und `go vet ./...` bestanden. Im Race-Lauf: CLI/HTTP 3,755 s, remotesync 3,703 s, übrige Pakete bestanden. Neue Fixture-Nachweise: prozessgesperrte atomare Statefiles mit Fehler-/Crashpunkten; Widerruf über Neustart und zwei gleichzeitig offene Authority-Instanzen; gelöschter/korrupter Zustand verweigert Rechte; alte Nonces nach Neustart abgewiesen; signierte Import-Provenienz; Zwei-Client-Transfer und CAS; Clone in neues Ziel; Fetch verändert weder Base noch HEAD; Pull überschreibt keine Arbeitsdateien; verlorenes ACK plus nachfolgender zweiter Writer; Pending-Pull nach HEAD-CAS; Snapshot-only ohne alte private Historie; verbotene `.git`-/`identity.key`-Pfade erzeugen keinerlei Upload oder öffentliche Orphan-Objekte; Objekt-/Upload-Quota; Graph liest eindeutige Objekte nur einmal; fortsetzbarer Uploadoffset; 429-Retry mit frischer Challenge, Deadline-Abbruch und Offline-Abbruch mit Pinprüfung. Diese Tests verwenden ausschließlich lokale temporäre Fixture-Repositories. Die ergänzende echte CLI-/Crossbuild-Abnahme wird separat im Info-Projekt protokolliert. Die öffentliche Implementierung ersetzt weder private Remote-E2EE noch echte Windows-Hardwaretests oder einen unabhängigen Security-Audit. Ergänzende Root-Abnahme DH005 abgeschlossen: alle drei Crossbuilds erneut erfolgreich; tatsächliche CLI mit zwei Clients, Node und 42 Quellcodedateien prüft Opt-in, private Vorgeschichte, Clone/Pin/No-overwrite, Fetch/Pull-Semantik, CAS-Konflikt, separaten Prozesswiderruf am laufenden Node und Offline-Abbruch. Alle sechs Prüfschritte bestanden (`decentralhub-info/dh005-cli-check.json`). Vorherige Offline-CLI-/DOP-Vektor-E2E erneut bestanden. Nur das App-Repository erhielt einen neuen privaten kompatiblen Checkpoint; andere Projekte blieben unverändert (`dh005-checkpoint.json`). Der laufende Node wurde ohne Public-Sync aktiviert: private Ansichten erreichbar, öffentlicher Feed leer, experimenteller Public-Sync-Pfad liefert 404. ## Lokale HTML-Schreibaktionen — 25. Oktober 2026 Mit explizitem `--local-write` implementiert: privates Projekt anlegen oder registrieren, Arbeitsänderungen prüfen, Snapshot mit Message speichern. Fixturetests prüfen default-disabled, Loopback/Host/Origin/Content-Type/CSRF, Registrierungspfadwechsel zwischen GET/POST, HEAD-Replay, geänderte Dateien nach Vorschau, Ignore-Regeln, XSS, Traversal, keine Discovery-Ereignisse, bestehende Dateien unverändert, unvollständige Metadaten abgewiesen und unbekannte Registry-Felder unverändert erhalten. Gepinnter Workspace-Store schreibt nach einem Pfad-/Symlinktausch weiterhin ausschließlich ins ursprünglich geöffnete Verzeichnis. Neue Workspace-Verzeichniseinträge werden unter Linux synchronisiert. Vollständiges `go test -race ./...` bestanden; nach letzten Registrierungschecks gezielt CLI/HTTP 3,774 s und localrepo 1,199 s erneut bestanden. `go vet ./...` erneut bestanden. Die tatsächliche HTTP-/Crossbuild-Abnahme dieses HTML-Schritts erfolgt zusätzlich; keine Bedienaktion wurde an echten Nutzerprojekten automatisch ausgeführt. Preview speichert keine Snapshot-Objekte; geprüfter Commit bindet HEAD, Dateiliste und Inhalte. Bei abgebrochenem Commit können wie bei CLI-Commits unreferenzierte lokale Objekte verbleiben. ## Discovery/Status/Outbox — Fortsetzung 25. Oktober 2026 Zusätzliche Tests: zwei echte gleichzeitige Node-Schreibprozesse behalten beide Events; eingerücktes Legacy-JSON bewahrt signierte Strukturen/IDs; nach vollständiger Initialisierung fehlende Events werden nicht leer ersetzt. Öffentliche Outbox überlebt Wiederöffnung, abgelaufene Leases werden übernommen, alte ACKs abgewiesen, fehlgeschlagene Zustellung bleibt ausstehend. Peer-Status beruht auf echten lokalen HTTP-Proben; Nicht-Loopback erhält keine privaten Beobachtungen. 1000 signierte Release-Fixtures erzeugen einen globalen Eintrag je Projekt; der kritische Feed bleibt nach späterem normalen Release erhalten. Zeitvergleich prüft Offsets und deterministische Ties. Unabhängige Legacy-Key-Alias-Regressionen prüfen dekodierte Schlüsselidentität ohne Umschreiben alter Signaturen. Neue DDP/0.2-Key-/Signaturkodierung ist kanonisch. Private Bookmarks erzeugen keine Events; öffentliche HTML-Sterne verlangen Checkbox und bekannten öffentlichen Repo-Bezug. Ingestion-Budget, zusätzliche JSON-Dokumente und bytebegrenzte Pagination über mehr als eine Seite sind Fixture-getestet. Separater opt-in Lasttest tatsächlich ausgeführt: `DH_RUN_COMMIT_LOAD=1 go test ./cmd/decentralhub -run '^TestReviewThousandPrivateHTMLCommitsStayOutOfDiscovery$' -count=1 -timeout=4m -v`. **Bestanden: 1000 geänderte Dateien/Snapshots über echte HTML-Preview/CSRF-POSTs, anschließendes Verify über 1000 Stände, öffentliche Events/APIs/Outbox leer.** Laufzeit 41,234 Sekunden (Go gesamt 41,260). Die wachsende Vollhistorienprüfung zeigt quadratische Kosten; keine SLO- oder Skalierbarkeitsbehauptung. Der Test wird im normalen Testlauf übersprungen und nicht unnötig wiederholt. Root-Abnahme gegen gebautes Binary: sechs Discovery-CLI-/HTTP-Gruppen bestanden (vier parallele Publisher, Legacy-Dateibytes/IDs, Live-Star/Unstar/Release, private Merkliste/Opt-in, kein erneutes Gossip nach Replay, Privacy und fehlender Store/Reparatur). Bericht `decentralhub-info/discovery-cli-check.json`. Offline-CLI-/DOP- und tatsächliche lokale HTML-Formular-E2E erneut bestanden. Vollständige Race-Suite unabhängig bestanden (CLI/HTTP 10,278 Sekunden); abschließende Builds werden nach dem Source-Freeze wiederholt. ## Weiterhin nicht ausgeführt / nicht fertig - Echte Windows-Hardware (amd64/arm64), Windows-Powerloss-/Directory-Sync. - Reale Stromausfälle, Disk-full-Filesystem-Faults, Netzdateisysteme/NFS. - Vollständiger privater Zwei-Client-Remote-Workflow; private Endpunkte fehlen. - Wallet-, Zahlungsanbieter-, Domain- und Firmenregister-Integration: deaktiviert. - Externes Security Audit, formale Interop-Konformität, Produktionslast/SLOs, Release-Signierung, vollständige SBOM-/Provenienzpipeline. Keine Tests führen Repository-Code aus, kommunizieren mit Zahlungsdiensten oder veröffentlichen Nutzerdaten. Der Peer-Test bindet ausschließlich lokale Testports. ## MeshForge-Branding und Governance-Inventar — 25. Oktober 2026 Unveränderte Governance-Quelle per SHA256 geprüft. Unabhängige UI-Fixtures prüfen den exakten sichtbaren Footer auf öffentlichen und privaten Seiten, keinen Metadatenabfluss und erhaltene Legacy-Signaturen. Root hat das echte `mf`-Binary gebaut: Offline-CLI/DOP-E2E und sechs Branding-CLI/HTTP-Gruppen bestanden (Version, vier Standardseiten, beide identische Node-Info-Aliase, MCP-Name, fehlender Bootstrap mit 404, leere Public-Events). Bericht: `decentralhub-info/branding-cli-check.json`. Die Markenänderung migriert keine privaten Repositories und richtet keinen Founder-Trust-Key ein. Branding-Abschluss: `go test ./...` und `go vet ./...` vollständig bestanden; `go test -race ./...` ebenfalls vollständig bestanden. Die abschließenden Alias-/Plattformbuilds folgen im getrennten Root-Abnahmeprotokoll. ## P0-2 Write-/Sync-Fehler und Linux-Export — 25. Oktober 2026 Zwölf Operationstests ersetzen File.Write/File.Sync/Directory.Sync tatsächlich: Prefix wird geschrieben, dann ENOSPC geliefert; außerdem Short-write ohne Fehler und Sync-EIO. Alle prüfen erhaltenes oder ausdrücklich unsicheres HEAD, Verify, Temp-Cleanup, Lockfreigabe und erfolgreichen anschließenden Recover/CAS. Die Injektion ist kein real voller Datenträger. Unabhängig löst der Root-CLI-Test `check-storage-write-failure.py` einen echten Kernel-EFBIG-Fehler mit begrenztem Child-RLIMIT_FSIZE aus: alter Snapshot bleibt gültig, Recovery/neuer CAS/Export gelingen. Vier Gruppen bestanden (`storage-write-failure-check.json`). Linux-Export hat fünf separate Prozess-Crashpunkte, Rennen mit neu angelegtem leerem Verzeichnis/Datei/Symlink, Teilwrite-/Syncfehler und vollständige Bottom-up- Flushprüfung. Unabhängige Tests prüfen Ablehnung nicht-sticky Shared-Parents und Erfolg im Sticky-Parent. Letzte gezielte Localrepo-Race-Suite bestanden (1,352 s). Keine realen ENOSPC-/fsync-Filesystemfaults, Stromausfälle oder Windows-Laufzeit behauptet; Windows-Export bleibt ausdrücklich nicht crash-atomar. P0-2-Abschluss: vollständige Race-Suite bestanden (CLI/HTTP 10,274 s, Public-Sync 3,668 s); `go vet ./...` bestanden. Root unabhängig Localrepo-Race mit allen Regressionen erneut bestanden (1,323 s). Keine externen Go-Module oder Frontend-Paketmanager hinzugefügt. ## P0-3 gehärtete lokale Key-Datei — 25. Oktober 2026 Gezielte Race-Tests prüfen unveränderte Legacy-Bytes/Schlüssel, No-overwrite auch bei korrupten Dateien, Grenzen, Symlinks, Linux-Owner/Mode-Grenzen, FIFO in zeitbegrenztem separatem Prozess und acht konkurrierende Initialisierungen mit genau einem Gewinner ohne temporäre Reste. Erstlauf 2,040 s bestanden. Root baute das echte Linux-Binary und führte `check-key-store-cli.py` aus: alle acht Gruppen bestanden (`key-store-cli-check.json`), darunter regulärer Legacy-Key, 0600, Symlink/FIFO/Übergröße/0644/inkonsistente Seed-Public-Hälfte, fehlender Key ohne Regenerierung und acht getrennte Initialisierer. Ausschließlich synthetische Fixture-Keys; echte Benutzerkeys unverändert. Windows-ACL-/OS-KeyStore- Integration und reale Powerloss-Tests werden dadurch nicht ersetzt. P0-3 vollständige CLI-/HTTP-Race-Suite bestanden (11,207 s). Anschließend wurde die echte Zwei-Client-Public-Sync-CLI-E2E gegen das Key-Binary erneut vom Root ausgeführt: alle sechs Gruppen bestanden, mit unverändertem Keyformat. ## Lokale Release-Signierung und Bundle-Collector — 25. Oktober 2026 Fixture-Tests prüfen `release-sign` für Policy, Manifest, Review und Testbeleg mit unabhängigem Ed25519-Verify über die definierten vier Signaturkontexte. `release-id` wird unabhängig per SHA-256 über Context und Body nachgerechnet. Eingabedateien und Schlüssel bleiben bytegleich; keine zusätzlichen State-Dateien. Unbekannte/duplizierte/aliasierte JSON-Felder, ungültige Werte, nachgestellte Daten, überlange Dateien, Symlinks und implizite/fehlende Schlüsselwahl werden abgewiesen. `release-bundle` erzeugt aus öffentlichen Einzeldateien bytegleich das kanonische Fixture-Bundle; die getrennte tatsächliche Artefaktprüfung akzeptiert dessen vollständige Signaturen. Fehlende Reviews/Testbelege autorisieren nichts. Konfligierende Mitzeichner-Bodies, doppelte Signer/Testpaare und fremde Policy-/Kandidatenverweise werden ohne Teil-Ausgabe abgewiesen. Alle Tests nutzen ausschließlich erzeugte Fixture-Schlüssel, keine realen Release-Roots. ## Experimenteller Offline-Release-Verifier und CLI — 25. Oktober 2026 Fixture-Prüfungen zu diesem damaligen Prüfstand: separat gepinnte Roots/Config/Target/Risikofloor; kanonische Bytes und unabhängiger Python-Hashvektor; Rollen/Fristen/Quoren/Gruppen; 1000 unautorisierte Peerkeys ohne Freigabe; lokale Kandidatenfristen über Neustart; Artefaktmanipulation ohne Accepted-Checkpoint; parallele/stale Verifier; ungültiger oder fehlender State; unsicherer State-Write ohne Authorization. Bekannte signierte Ablehnungen/negative Tests bleiben bei Weglassen, Neustart und anderer Instanz erhalten; gefälschte Negative vergiften keinen State. Begrenzte Negativkapazität verdrängt keine lebenden Ablehnungen. Zu diesem früheren Prüfstand wurden Policywechsel ohne Transition-Unterstützung failclosed abgewiesen. Paket-Race-Suite bestanden (6,833 s), Vet bestanden; unabhängige Root-Race-Suite zusätzlich 5,479 s bestanden. CLI-Fixtures prüfen Trust-Init ohne Reset, Observe ohne Autorisierung, tamper/verify/reopen, keine lokale Policyabschwächung, JSON-Duplikate/Unbekanntes/Übergröße und Symlinks (Race 1,045 s). Root baute das echte Linux-Binary und führte `check-release-cli.py` aus: alle vier Offline-Mehrprozess-Gruppen bestanden (`release-cli-check.json`), inklusive FIFO-Zeitgrenze, unverändertem Checkpoint nach falschem Artefakt oder gefälschtem Negativbeleg, persistentem echten Reject und fehlendem State. Ausschließlich synthetische Trust-Keys/Signaturen und inerte Artefakte; keine Downloads, private Keys in Fixture-Export, Installation oder Ausführung. Gemeinsame abschließende Voll-Race-Suite bestanden: CLI/HTTP 11,477 s, Release-Verifier 7,055 s; alle übrigen Pakete bestanden. Voll-Vet bestanden. Root hat den festen Manifestvektor zusätzlich mit Python/json/hashlib unabhängig nachgerechnet: `f7847a88147336b88ae2b24ef93bd17d9db632603172c3219bec76d85eec2d40`. Zwei kurze Decoder-Fuzzläufe bestanden: 236649 Ausführungen in 6,021 s und 162128 in 6,024 s (zweiter Lauf mit vollständigem gültigem Bundle-Seed). Endliche kurze Fuzzläufe sind keine Sicherheitsbeweise. ## Opt-in Governance-Transitions — dokumentierter Zwischenstand, 25. Oktober 2026 Der Code enthält inzwischen `transition_*`-Typen, Codec, Verifier und Checkpointregeln sowie die CLI für Transition-Signierung, ID, Bundle, Beobachten und Aktivieren. Ein lokales `transition_rules`-Objekt ist optional und wird vor Checkpoint-Initialisierung in der lokalen Trustkonfiguration provisioniert; `nil` lässt Wechsel gesperrt und erhält bestehende Config-Fingerprints. Diese Transition-Arbeit ist nicht als Produktionsreife oder externe Sicherheitsabnahme zu verstehen. Laut Arbeitsübergang bestanden der gezielte Lauf `go test ./cmd/decentralhub ./internal/releaseverify -run 'TestOfflinePolicyTransition|TestTransition|TestRelease|TestOfflineReleaseCLI' -count=1` (CLI 0,032 s, Verifier 0,157 s) sowie `go test ./internal/releaseverify -count=1` (0,748 s). Die gezielte CLI-Race-Prüfung wurde vor der Observe/Activate-CLI- Erweiterung ausgeführt. Danach meldete Root für den aktuellen Stand vollständige `go test ./...`, `go test -race ./...` (CLI 19,264 s; releaseverify 9,573 s) und `go vet ./...` jeweils PASS. Der unabhängige `check-governance-cli.py`-Mehrprozess-E2E bestand mit echten Init/Sign/ID/Bundle/Observe/Activate-Prozessen, zwei Roots und zwei Reviewern, Python-Hashkontrolle, Releasehistorie, konkurrierenden Prozessen, später auftauchenden Negatives und einer realen zweisekündigen Reviewfrist über mehrere Prozesse. Unzureichende Root-, Review- und Testquoren verändern den frischen Checkpoint nicht; geänderte Trustregeln und fehlender State bleiben gesperrt. Der feste Wire-/ID-Vektor in `transition_review_test.go` wurde unabhängig mit Python hashlib berechnet. `FuzzDecodeTransitionBundle` bestand einen begrenzten 11,019-s-Lauf mit 76 Ausführungen; geringe Laufabdeckung ist kein Audit. Abschließende Build-/Abnahmeberichte liegen neben dem Projekt unter `decentralhub-info/governance-acceptance-check.json` und `decentralhub-info/governance-cli-check.json`, sofern der jeweilige Lauf erfolgreich abgeschlossen ist. Diese Zusammenfassung behauptet keine Produktionsreife oder Founder-Autorität. ## Native MCP-, Public-Netzwerkpolicy- und Bootstrap-Härtung MCP: eigene und unabhängige Origin-/DNS-Rebinding-/RPC-Regressionen, UTF8/ Duplikate/IDs/Params/Bodygrenzen, 1005 große signierte Events vollständig über beide Tools paginiert, Cursorbindung, begrenzte Antworten, 16er-Batches mit gewichteter Admission, vier blockierte Leser vor fünftem Request, private Datenabwesenheit. Gezielte Race-Suite bestanden (7,699 s), Root unabhängig 7,619 s; Vet bestanden. FuzzMCPEnvelope: 100578 Ausführungen in 6,031 s bestanden. Anschließende Versionsaushandlungs-Regression prüft fremdes Angebot → unterstützte 03-Version, während fremde operationale Versionsheader abgewiesen bleiben. Netzpolicy: reine Fixture-/Fake-DNS-Prüfungen für CGN/Benchmark/Dokumentation/ Reserved/IPv6-Sondernetze, mapped IPv4/Zone, explizites Loopback und genau einmal aufgelösten numerischen Dial. Gemeinsame Anwendung auf Discovery, Public-Sync und Bootstrap; Root-Konstruktorregressionen bestehen ohne externe Netzverbindung. Gezielte Race-Läufe netpolicy 1,012 s, peertrust 1,176 s und remotesync 3,693 s bestanden. Bootstrap-HTTP/CLI-Fixtures prüfen Pin, Nonce-Replay, kanonische Signaturen, Ablauf, Redirectverbot, Body-/Rategrenzen, standardmäßig404, keine Registry-/Config-Exporte, alternative Endpoints ohne stilles Repinning, persistente Provenienz, fehlenden Store und atomare Quotaablehnung (CLI-Race 1,172 s). Root gegen gebautes Binary: Discovery sechs, Branding sechs, Bootstrap vier und MCP drei Gruppen bestanden. Bootstrap prüft separat Python-gehashte Peer-ID, explizite Kandidaten, frische Proofs/Provenienz, fehlende/falsche Pins ohne Write und keinen automatischen Peerconfig-Eintrag (`bootstrap-cli-check.json`). MCP prüft echten HTTP-Initialize/Notification/Paging/16erBatch/Rate/Privacy sowie ungültige Origins/IDs/UTF8/Bodylimits (`mcp-cli-check.json`). Keine externen Kandidaten kontaktiert, keine Nutzerrepos gelesen oder veröffentlicht. ARCH01/02: Dokumentations-/Codeabgleich und begrenzte Zustands-/Lock-/Ressourcen- analyse durchgeführt; eine konkrete gemeinsame netpolicy-Servicegrenze durch die reproduzierte Sicherheitskopplung begründet. Kein umfassender Architekturaudit, keine Controller-/Handle-Migration und keine Tests allein zur Dokumentationsform. Bootstrap-Manifest-Fuzzlauf ebenfalls bestanden: 226138 Ausführungen in 6,015 s mit kanonischem gültigem Seed. MCP-Negotiation-Fix gezielt Race 7,622 s und Vet bestanden; normale Gesamt-Suite nach Fix bestanden (CLI/HTTP 1,614 s). Keine Fuzz-/Fixture-Prüfung ersetzt den externen Audit. ## Neue lokale Implementierungspakete: aktuelle Abnahme getrennt lesen Die vorstehenden Abnahmen dokumentieren frühere konkrete Entwicklungsstände. Die fortlaufende Gesamtumsetzung ergänzt experimentell private AES-GCM-Pakete, dauerhafte Writerbudgets, vollständige v1-Backups, private Ciphertextstores und zwei Geräte mit Read-only/Widerruf/Epochenwechsel, separat provisionierte Release-Recovery v2 sowie owner-signierte native DOP-Refs und reine Mergepläne. Neue Prozesschecks liegen im Workspace unter `decentralhub-info`: `private-package-cli-check.json`, `backup-cli-check.json`, `private-native-cli-check.json`, `recovery-cli-check.json` und `native-dop-cli-check.json` und `native-review-cli-check.json`. Sie enthalten jeweils den tatsächlich geprüften Binaryhash. Die Public-Sync-Prozessprüfung umfasst jetzt getrennte eingefrorene Exposurevorschau und einen unabhängig mit Python berechneten Bestätigungsdigest. Mergeplan-Prozessprüfungen vergleichen DOP-/Plan-IDs unabhängig und prüfen, dass Planung weder Store noch Refs verändert. Quellgruppen-Auswahl bleibt eine lokale konservative Vorschau mit explizitem unzureichend-Status. Die gemeinsame Abnahme des eingefrorenen aktuellen Quellstands ist ausschließlich am Ergebnis, `source_sha256`, `source_unchanged` und den einzelnen Prüfungen in `decentralhub-info/governance-acceptance-check.json` zu erkennen. Der Treiber prüft normale Vollsuite, Voll-Race, Vet, Linux-amd64 und Windows-amd64/arm64-Builds sowie alle genannten neuen Prozesschecks und die bestehenden CLI-/HTML-/MCP-/ Bootstrap-/Release-/Governance-Checks. Ein älterer grüner Bericht bestätigt keine danach geänderten Quellen. Abnahmeberichte werden außerhalb des Quell-Snapshots geschrieben, damit die geprüften eingebetteten Dokumente während der Abnahme unverändert bleiben können. Die zwei vollständig identischen Reproduktionsläufe/SBOM-/Provenienzarchive beziehen sich auf Snapshot17, nicht automatisch auf den späteren Arbeitsbaum. Native Store/private Writer/atomarer Backup-Restore sind weiterhin Linux-Implementierungen; Crossbuilds machen daraus keine Windows-Laufzeitabnahme. Keine Prüfung provisioniert reale Founder-/Recoveryroots, belegt organisatorische Reviewerunabhängigkeit oder ersetzt externe Audit-, Hardware- und Betriebsnachweise. Ein zusätzlicher tatsächlicher Projektbackupversuch zeigte, dass `.dh/ignore` im ersten Paket fehlte. Der anschließende Fix erhält die bounded lokale Ausschlusspolitik und verlangt im CLI-Restore immer einen unabhängig erhaltenen Manifestdigest. Die private Bridge übergibt den bereits AEAD-gebundenen Digest. Regressionen verändern oder entfernen Ignore-Datei samt passendem Manifest bei unverändertem HEAD; der alte unabhängig gespeicherte Pin verhindert beides vor Zielanlage. Das ist ein späterer Quellfix und wird nur durch einen dazu passenden neuen unveränderten Sourcehash-/Abnahmebericht belegt. N4 wurde zusätzlich unabhängig auf Paketebene geprüft: kanonische Policy-/ Autoren-/Proposal-/Review-/Widerrufs-/Erneuerungsverträge, exakte Opt-in-Pins, blockierte rohe geschützte Schreibpfade, konfliktfreier Zwei-Eltern-Merge, Quorum/Reviewfrist, historischer Replay nach Zertifikatsablauf, frische späte Ablehnung, monotone Autorenunion und feste gezählte Reviewer, Rejection-Key gegen Metadatenwechsel, Widerruf über bereits geöffnete zweite Instanz sowie gleichsekündige Renewal-/Revocation-Reihenfolge. Normal-/gezielte Race-/Vet-Läufe bestanden. Vier echte CLI-Prozessprüfgruppen vergleichen Policy-, Delegations-, Proposal-IDs und Ed25519-Signaturen zusätzlich in Python; vertauschte Proofdateien funktionieren, manipulierte Draft-Vorschau wird vor Signaturausgabe abgelehnt. Der gemeinsame Freeze-Treiber umfasst nun zusätzlich diesen Prozesschecker. Diese lokalen synthetischen Nachweise provisionieren keine realen Reviewer oder Produktionspolicy und ersetzen keine externe Abnahme. R0/R1-Paketprüfungen ergänzen unverändernde Diagnostik, getrennte Budgetzählung mit Regression an der bisherigen Planbudgetgrenze, ResolveAuthority mit defensiven Kopien sowie reine Recovery-Bootstrap-Codecs. Unabhängige Reviewerregressionen prüfen aktuelle Policybindung, exakte Recoveryrollen, Renewal/Altzertifikatswiderruf und die Autorisierung eines größeren künftigen Recoveryrosters durch das bestehende Reviewerteam. Normal/Race/Vet bestanden. `native-recovery-evidence-cli-check.json` dokumentiert drei echte Prozessgruppen mit Python-IDs/Ed25519 für alle vier Belegtypen, stabilem ContentKey und Negativfällen; kein Store wird aktiviert und keine vorhandenen Keys verändert. Der gemeinsame Freeze-Treiber enthält diesen zusätzlichen Prozesschecker. R2-Prüfungen ergänzen tatsächliches Prepare/Consent/Activate mit atomarem refs/3-Journal, FirstSeen/Negatives und unverändertem N4-Autorisierungsmodell. Unabhängige Reviewerregressionen prüfen alphabetisch frühere neue Branches, globale N4-ID-/Mengenprüfung im Fortsatz, Metadaten-/Quellpinwechsel nach Reject und späte Ablehnung nach Ablauf/Aktivierung. Normal-/Race-/Vet-Prüfungen bestanden. Root-Regressionsfälle bestätigen einen einzigen Gewinner bei konkurrierendem exaktem CAS und null Erfolgs-ID bei ungewisser Sourceobjektinstallation. `native-bootstrap-cli-check.json` enthält fünf echte Prozessgruppen mit unabhängigen Python-Receipt-/Source-/Operationshashes, Quorum/Zeitfenster, Neustarts, N4-Brücke/AlreadyPresent, separater Recoveryquarantäne und beschädigtem Initialsourceblob. Die gemeinsame Abnahme zählt auch diesen Prozesschecker. Keiner dieser Tests belegt terminale Wiederherstellung oder reale Operatortrust. ROT1a-Codecs wurden unabhängig mit festen Python-IDs/Ed25519-Signaturen und Normal-/Race-/Vet-Prüfungen bestätigt. Beide begrenzten Decoder-Fuzzläufe bestanden; gemessen 2117 Rotation- und 71 Consent-Ausführungen in jeweils etwa vier Sekunden. `native-policy-evidence-cli-check.json` enthält drei Prozessgruppen zu exakten IDs, dem getrennten Signaturkontext-Digest, stabilem ContentKey und Ablehnung ungültiger Epochen/gleichbleibender Policy/falscher Signer/unklarer JSON-Bodyfelder. Keine Prüfung aktiviert eine Policy-Epoche. ROT2-refs/4 wurde danach separat geprüft: vollständiger historischer Replay, gepinnte refs/3-Migration, chronologische Authoritywechsel, dauerhafte Negativbelege, Sidecars und atomare Epoch-/Ref-CAS. Der vollständige `internal/nativerepo`-Paketlauf, gezielte Epoch-Race-Suite und `go vet` waren grün. Sieben echte CLI-Prozessgruppen in `decentralhub-info/native-policy-epoch-cli-check.json` prüfen R2-Bootstrap, vollständige Rotationssignaturen, Prepare/Activate und Neustart, veraltete CAS-Werte, aktuelle Reviewerautorität, signierte späte Ablehnung, unprotected Ref und geschützten Apply mit exakt gebundenem OwnerAck. Die zusammengefasste unveränderte Offline-Abnahme liegt in `decentralhub-info/round3-epoch-offline-check.json`; Linux-amd64/arm64 und Windows-amd64 Builds bestanden. Das eingefrorene HTTP-Paket mit Sourcehash `69dfdb66960bc867b7c6835172661a6a545dff4f2ca4aa4138a7e2c1f1467a9d` wartet auf den externen Socketlauf. Diese Belege sind lokale synthetische Verträge; keine realen Trustroots oder unabhängigen Produktionsreviewer wurden provisioniert. Spätere Quelländerungen brauchen eigene passende Abnahme. Die anschließende Same-Owner-Policy-Recovery ergänzt refs/4 um getrennte Constitution-Root-/Recovery-Reviewer-Quoren, exakte ungelöste Ursachen, dauerhafte Vorab-Vetos, ein konserviertes Reviewfenster, atomare Aktivierung und späte semantische Ablehnungen. Rejections und ihre Auflösungsbelege bleiben unveränderlich. Der unabhängige Review fand nach dem Vorab-Veto-Fix keinen weiteren konkreten Umgehungspfad. Gezielte nativerepo-Normal- und Race-Tests bestanden; der zusätzliche A/B-Regressionsfall aktiviert die zweite Ausgabe und quarantänisiert sie durch eine spätere Ablehnung der ersten. Der erweiterte `check-native-policy-epoch-cli.py` bestand neun echte Prozessgruppen vor dem abschließenden neuen Quellfreeze. Die vollständige spätere Offline- und Socket-Abnahme muss mit exakt ihrem eigenen Sourcehash wiederholt werden. Für die VPS-Schauseite baut `prepare-vps-bundle.py` statische amd64/arm64- Binaries mit festgelegter Go-Umgebung und erstellt ein domänenspezifisches TAR mit Manifest, Checksummen, systemd-/nginx-Vorlagen und Ubuntu-Runbook. Zwei unabhängige lokale Buildupfade ergaben ein bytegleiches Entwicklungskandidaten- TAR; nach weiteren Dokumentationsänderungen wird es neu erstellt. Der Proxy prüft den ursprünglichen und normalisierten Host sowie Request-Form und Transfer-Encoding. Mangels lokalem nginx und VPS-Zugriff sind `nginx -t`, echter TLS-Roundtrip und Service-/Firewall-Abnahme nicht als bestanden markiert. Der spätere Hosted-Browser-Login ist ein neuer, opt-in gemounteter Quellstand. `internal/identity.AuthorizeGrant` prüft eine Delegation erst nach dem aktuellen persistenten Widerrufsstand auf Ablauf. `internal/hostedauth` bindet einen Einmal-Proof an das Browser-Transaktionscookie, hält Sitzungen prozesslokal und prüft den aktuellen Grant bei jedem Zugriff. Der HTTP-Adapter prüft Host/Origin, exakte Routen, Bodygrenzen und Cookie-Mehrdeutigkeit; anonyme Antworten und der Transaktionszustand dürfen keine private Repo-Existenz verraten. Gezielte Normal- und Race-Tests für Identity, Hostedauth und den lokalen `hosted-login-sign`-CLI sowie `go vet` bestanden. Die vollständigen CLI-HTTP- Tests benötigen weiterhin einen Socketlauf außerhalb dieser Sandbox. Kein Test dieser Schicht allein belegt private Browserinhalte oder einen produktiven Hosted-Server; die Quelle liegt hinter dem zuletzt eingefrorenen HTTP-Bundle. Der Auth-Mount hat ein eigenes 4-In-Flight-/240-pro-Minute-Budget vor dem Resolver und State-I/O. Negative Tests belegen, dass offene Katalog-, Autoritäts- und Statusrechte abgelehnt werden. Diese Hosting-ACL-Prüfung ist derzeit Linux-spezifisch; andere Systeme aktivieren diesen Modus nicht. Ein neuer, separat opt-in gepinnter private-v2-Dispatcher leitet nur die drei Ciphertext-Leseoperationen an den bestehenden Proof- und Membership-Handler. Ein In-Memory-HTTP-Integrationstest lädt eine echte signierte Reference und ein tatsächlich persistiertes Ciphertext-Objekt, prüft dessen exakte Envelope- Bytes und lokale Entschlüsselung, verwirft fehlende/falsche/replayte Proofs und doppelte JSON-Felder und verweigert nach Membership-Cutover den nächsten Read trotz gültigem Cookie. Browser-Entschlüsselung und der Name-Index-Abruf sind inzwischen implementiert; ein externer nginx-/TLS-Test dieses späteren Quellstands fehlt weiterhin. Der getrennte native-v2-Teilabruf wurde mit einer echten AES-GCM-Chunk-Fixture gezielt geprüft: eine ausgewählte Datei ruft nur ihren benötigten Chunk ab, eine grenzüberschreitende Datei beide, manipulierte Ciphertexte und falsche Dateihashes liefern keine Daten. Gezielter Normal- und Race-Lauf sowie `go vet` für die betroffenen Pakete bestanden; `GOOS=js GOARCH=wasm` baut den Codec. Dies ist noch kein Browser-End-to-End-Test und keine VPS-Abnahme. Ein weiterer socketfreier Ende-zu-Ende-Test erzeugt einen echten lokalen Snapshot, pusht ihn verschlüsselt als native-v2-Transfer in den v2-Store und liest mit einem separaten speicherbasierten Client dessen Dateiliste und eine gewählte Quelldatei. Ein nicht gelisteter Pfad und ein geschlossener Speichercheckpoint liefern keine Inhalte. Gezielter Race-Lauf und `go vet` bestanden. Das ist kein echter Browser-Test. Die lokale Schlüsseldatei und ein kompakter, im Browser gespeicherter Anti-Rollback-Pin sind implementiert; das Löschen des Browserprofils entfernt diesen Pin. Der gehostete In-Memory-HTTP-Test führt den speicherbasierten Client nun auch durch den echten Hosted-Dispatcher: Browser-Sitzungscookie, opaker Repo-Hinweis, Geräteproof und signierter Head-/Ciphertext-Read greifen zusammen. Er prüft weiterhin den Membership-Cutover. Das ist keine echte Browser- oder nginx- Verbindung. Der lokale `hosted-browser-bundle`-CLI-Lauf baut aus einem geschützten Geräteschlüssel, signierten Grants/References und Read-Key-Paketen eine geschützte Browserdatei. Der Go-WebAssembly-Client baut und startet in einem Node.js-Smoke-Harness; ungültiges Onboarding wird abgelehnt. Der Browser lädt zuerst nur den verschlüsselten Namensindex, wählt anhand lokal entschlüsselter Namen genau ein Repo, liest dessen Snapshot-Dateiliste und einzelne Textdateien über den Proof-Dispatcher. Statische Assets werden beim Start mit einem Manifest geprüft; gezielte Handler-Tests prüfen Routen, Host, Methode und Range-Ablehnung. Das Hosted-TAR enthält diese Assets und die getrennten systemd-/nginx-Vorlagen. Es ist ein Entwicklungskandidat ohne Produktionsfreigabe. Ein echter Browserlauf, `nginx -t`, TLS-/VPS-Abnahme und ein aktueller socketbasierter Prozesslauf sind noch nicht bestanden. # Round 4 scoped validation (26 October 2026) The current dev4 HTTP report was checked first. Live source, frozen source, checker digest and TAR checksum matched handoff `bbbf18f0-0c6a-43c7-b860-0f0432c90617`; the dev4 completion report was absent. The older successful HTTP run is bound to source `db3781e7065c`, not dev4 or round4. See `../decentralhub-info/round4-http-review.json`. Native resolution normal/race tests and independent review cover exact original-plan binding, missing/duplicate/stale decisions, binary blobs and file modes, deletion, complete directory selection, case collisions, generated object ordering/tampering, and bounded path traversal. Targeted CLI tests verify that resolution leaves all store file hashes unchanged and rejects existing destinations and duplicate JSON fields. `check-native-resolution-cli.py` also passed against a fresh process binary with independent Python DOP/tree/ resolution-ID reconstruction. No sockets or production keys were used. Compatibility review retained the existing planner's accepted-input limits: the prefix-scan optimization uses ancestor lookups without adding a stricter gate to the old algorithm/version. A 9,500-conflict depth-110 fixture was run against the original dev4 frozen planner; its exact plan ID `5ade592eac474ddc0cf1393811cacd8475aeaf9da7709655f60eb65e0aeaa8f9` is now a regression vector. The additional decision-work limit applies only to the new resolution artifact operation. Normal and race tests additionally passed for nativepolicy, nativerepo, hostedauth, hostedbrowser, hostedprivate and privatecatalog. Targeted presentation/hosted/CLI checks passed; the health endpoint has no repository dispatch and rejects host/method/path/query aliases. These are scoped results, not full current-source HTTP acceptance. The hosted process checker prepared signed fixtures and built WASM/assets, then stopped at socket creation EPERM before seeding data or starting a node; its report says `blocked_before_http`. The optional Caddy/user-unit templates follow the two user-named architecture skills. Python syntax/help and isolated mocked VPS probe checks passed; no Caddy/nginx startup, TLS, browser, systemd user namespaces or VPS runtime was validated here. `scripts/check-hosted-vps.py` and the frozen HTTP runner provide concrete external commands. Full normal/race HTTP suites, real browser use, 100+-repository device storage, restart/backup/restore, independent release roots and the remaining masterplan implementations remain open. v1.0.0 is not released or production-approved.