Anfuehrungszeichen: drei Loecher in meiner eigenen Wache

Die zweite Sitzung hat in den Praesentationen des Vaults 83 Stellen
gefunden — und damit auf Loecher in MEINER Wache gezeigt. Ich habe
sie nachgemessen, alle drei waren echt.

LOCH 1 — SIE SAH NUR `server/workspace-*.js`

Also ausgerechnet nicht `workspace.js`, die groesste Datei des
Hauses. Der weitere Filter fand dort sofort drei Stellen:

    workspace.js:3404  Kanal „Chat-Moderation"     (Protokoll)
    workspace.js:3422  „${titel}" -> ${haus}       (Protokoll)
    workspace.js:3304  „${… || "ohne Titel"}"      (siehe Loch 3)

Das ist heute der DRITTE Fall von „die Wache kennt nur die halbe
Menge" — nach pruef-struktur (sah nur die Pruefdateien, nicht die
Anwendung) und pruef-fingermass (sah keine variable Breite).

LOCH 2 — IHR AUSDRUCK GILT JE ZEILE

Ein `„`, das erst in der naechsten Zeile mit einem geraden `"`
schliesst, fiel durch. Gemessen: drei echte Faelle, zwei davon
sichtbarer Seitentext.

    workspace/leistung.html       „nicht / zugeordnet"
    workspace/leistung.html       „Backstage-Tabelle / einfuegen"
    workspace/assets/js/ampel.js  „noch ' + 'verbessern"

Beim letzten laeuft das Zitat ueber eine Zeichenketten-Verkettung.

Neue Regel ohne Fehlalarme: erst alle RICHTIG geschlossenen Paare
entfernen (auch mehrzeilig), dann die einzeilig falschen (die meldet
die alte Regel). Was danach noch ein `„` hat und binnen drei Zeilen
ein gerades `"`, ist ein Fund. Ausgenommen bleibt das Zeichen ALS
WERT — in `content: "„";` und in den Sprachtabellen ist das `„` der
Inhalt und das `"` die Begrenzung.

LOCH 3 — EINE AUSNAHME, DIE EINEN FUND VERSCHLUCKT HAT

Gefunden durch die ZAHL, nicht durch den Blick: Der weitere Filter
liess die Ausnahmen von 12 auf 13 steigen. Die dreizehnte war

    `… „${zeile[titelSpalte] || "ohne Titel"}"`

Der Ausdruck blieb am `"` von `"ohne Titel"` haengen; als Inhalt kam
`${zeile[titelSpalte] || ` heraus, das endet auf ein Leerzeichen,
und damit galt „der Satz geht in der naechsten Zeile weiter". Das
echte Schlusszeichen stand hinter dem `}` und war gerade.

Dass die Ausnahmen gezaehlt UND genannt werden, hat ihn gefunden.
Genau dafuer steht die Zeile dort.

Behoben an der Wurzel: Anfuehrungszeichen innerhalb einer Einsetzung
`${…}` werden vorher durch X ersetzt, bei gleicher Laenge und
gleichen Zeilenumbruechen. Das nimmt einer ganzen Sorte
Fehlklassifizierung die Grundlage — die Ausnahmen fielen danach von
13 auf 11.

UND EIN VIERTES, BEIM MESSEN AUFGEFALLEN

`„Van-Van”` in assets/js/data-modis.js schliesst mit U+201D, dem
ENGLISCHEN Zeichen. Zweimal, beide Male in einer DEUTSCHEN Zeile
(`de:` und `"de-CH":`) — nicht einmal eine Uebersetzung, in der es
richtig waere. Eigene Regel dafuer, die keine Ausnahme braucht: Wer
mit `„` oeffnet, schliesst deutsch; in fremdsprachigen Zeilen steht
gar kein `„` am Anfang.

DIE AUSNAHMEZAHL IST JETZT STRENG. Sie stand auf „hoechstens 12" —
damit waere der Anstieg auf 13 nicht aufgefallen. Jetzt genau 11,
wie bei den Grundlinien in pruef-fingermass.

GEPRUEFT: pruef-struktur 68 -> 75 Pruefungen, 0 Fehler. Dazu
leistung-optik 59/0, ampel 47/0, treff 85/0, modi-verborgen 87/0 —
die Seiten, deren Text ich angefasst habe. Steuerzeichen: 830
Dateien, keines. Beide Stempel gesetzt.

Sechs echte Stellen berichtigt, vier neue Gegenproben.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
2026-10-01 19:28:38 +02:00
co-authored by Claude Opus 5
parent 2b3f140112
commit 1afb38258c
99 changed files with 1392 additions and 1210 deletions
+22 -22
View File
@@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>DOGFATHER UNIVERSE — Streamer. Community. HasiDog. Manager.</title>
<meta name="description" content="DOGFATHER UNIVERSE: die Heimat von DogFather als Streamer, der HasiDog-Community und Manager DogFather bei Spicy Media." />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610011927" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610011927" />
<link rel="manifest" href="/manifest.json" />
<meta name="theme-color" content="#065f76" />
<meta property="og:type" content="website" />
@@ -20,10 +20,10 @@
<meta name="twitter:description" content="DOGFATHER UNIVERSE: die Heimat von DogFather als Streamer, der HasiDog-Community und Manager DogFather bei Spicy Media." />
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
<link rel="stylesheet" href="assets/css/main.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610011927" />
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610011927" />
</head>
<body class="start-seite">
<div id="site-header"></div>
@@ -42,7 +42,7 @@
Bildschirm ist; ein CSS-Hintergrund kann das nicht, weil die Kante
dort je nach Fensterformat woanders liegt. -->
<div class="hero-artwork" aria-hidden="true">
<img class="hero-artwork-scharf" src="assets/img/universe-trio.jpg?v=202610010152"
<img class="hero-artwork-scharf" src="assets/img/universe-trio.jpg?v=202610011927"
width="1600" height="900" alt="" fetchpriority="high" decoding="async" />
</div>
@@ -170,7 +170,7 @@
<div class="char-showcase">
<a class="char-card dogfather" href="streamer.html">
<img src="assets/img/char-dogfather.jpg?v=202610010152" width="599" height="1212"
<img src="assets/img/char-dogfather.jpg?v=202610011927" width="599" height="1212"
alt="DogFather — Husky mit blauem Hoodie und Cap" />
<span class="char-meta">
<span class="char-name">DogFather</span>
@@ -179,7 +179,7 @@
</span>
</a>
<a class="char-card hasidog" href="hasidog.html">
<img src="assets/img/char-hasidog.jpg?v=202610010152" width="599" height="1212"
<img src="assets/img/char-hasidog.jpg?v=202610011927" width="599" height="1212"
alt="HasiDog — grauer Hase mit schwarzem Hoodie und Cap" />
<span class="char-meta">
<span class="char-name">HasiDog</span>
@@ -198,23 +198,23 @@
<h2>DogFather &amp; Casper</h2>
<div class="collage-wrap" id="collage-wrap">
<div class="collage-item">
<div class="collage-photo"><img class="collage-img" data-fallback="DogFather" src="assets/img/dogfather-portrait.jpg?v=202610010152" alt="DogFather" style="object-position:center top;"></div>
<div class="collage-photo"><img class="collage-img" data-fallback="DogFather" src="assets/img/dogfather-portrait.jpg?v=202610011927" alt="DogFather" style="object-position:center top;"></div>
<p class="collage-caption">DogFather 🩵</p>
</div>
<div class="collage-item">
<div class="collage-photo frame-lila"><img class="collage-img" data-fallback="Casper" src="assets/img/casper-1.jpg?v=202610010152" alt="Casper" style="object-position:center top;"></div>
<div class="collage-photo frame-lila"><img class="collage-img" data-fallback="Casper" src="assets/img/casper-1.jpg?v=202610011927" alt="Casper" style="object-position:center top;"></div>
<p class="collage-caption">Casper 🐾</p>
</div>
<div class="collage-item">
<div class="collage-photo frame-silver"><img class="collage-img" data-fallback="DogFather &amp; Casper" src="assets/img/dogfather-casper-1.jpg?v=202610010152" alt="DogFather und Casper zusammen" style="object-position:center 18%;"></div>
<div class="collage-photo frame-silver"><img class="collage-img" data-fallback="DogFather &amp; Casper" src="assets/img/dogfather-casper-1.jpg?v=202610011927" alt="DogFather und Casper zusammen" style="object-position:center 18%;"></div>
<p class="collage-caption" data-i18n="idx_collage_cap_team">Team 🩵🐾</p>
</div>
<div class="collage-item">
<div class="collage-photo frame-gold"><img class="collage-img" data-fallback="Casper" src="assets/img/casper-2.jpg?v=202610010152" alt="Casper"></div>
<div class="collage-photo frame-gold"><img class="collage-img" data-fallback="Casper" src="assets/img/casper-2.jpg?v=202610011927" alt="Casper"></div>
<p class="collage-caption" data-i18n="idx_collage_cap_huskylife">Husky-Life</p>
</div>
<div class="collage-item">
<div class="collage-photo frame-tuerkis"><img class="collage-img" data-fallback="DogFather &amp; Casper" src="assets/img/dogfather-casper-2.jpg?v=202610010152" alt="DogFather und Casper Nase an Nase"></div>
<div class="collage-photo frame-tuerkis"><img class="collage-img" data-fallback="DogFather &amp; Casper" src="assets/img/dogfather-casper-2.jpg?v=202610011927" alt="DogFather und Casper Nase an Nase"></div>
<p class="collage-caption" data-i18n="idx_collage_cap_nose">Nase an Nase 🩵</p>
</div>
</div>
@@ -277,10 +277,10 @@
<div class="container">
<h2 class="text-center" data-i18n="idx_galerie_h2">Impressionen</h2>
<div class="grid grid-4">
<div class="collage-photo" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/casper-3.jpg?v=202610010152" alt="Casper" style="width:100%;height:100%;object-fit:cover;object-position:center 20%;" /></div>
<div class="collage-photo frame-lila" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/card-vanvan.jpg?v=202610010152" alt="VanVan" style="width:100%;height:100%;object-fit:cover;" /></div>
<div class="collage-photo frame-silver" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/casper-4.jpg?v=202610010152" alt="Casper" style="width:100%;height:100%;object-fit:cover;object-position:42% center;" /></div>
<div class="collage-photo frame-gold" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/card-dogfather.jpg?v=202610010152" alt="DogFather" style="width:100%;height:100%;object-fit:cover;" /></div>
<div class="collage-photo" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/casper-3.jpg?v=202610011927" alt="Casper" style="width:100%;height:100%;object-fit:cover;object-position:center 20%;" /></div>
<div class="collage-photo frame-lila" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/card-vanvan.jpg?v=202610011927" alt="VanVan" style="width:100%;height:100%;object-fit:cover;" /></div>
<div class="collage-photo frame-silver" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/casper-4.jpg?v=202610011927" alt="Casper" style="width:100%;height:100%;object-fit:cover;object-position:42% center;" /></div>
<div class="collage-photo frame-gold" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/card-dogfather.jpg?v=202610011927" alt="DogFather" style="width:100%;height:100%;object-fit:cover;" /></div>
</div>
<div class="btn-row" style="justify-content:center;">
<a class="btn btn-outline" href="medien-dogfather.html" data-i18n="idx_galerie_btn">Zur ganzen Galerie</a>
@@ -319,10 +319,10 @@
</main>
<div id="site-footer"></div>
<script src="assets/js/data-modis.js?v=202610010152"></script>
<script src="assets/js/data-scouts.js?v=202610010152"></script>
<script src="assets/js/i18n-index.js?v=202610010152"></script>
<script src="assets/js/main.js?v=202610010152"></script>
<script src="assets/js/data-modis.js?v=202610011927"></script>
<script src="assets/js/data-scouts.js?v=202610011927"></script>
<script src="assets/js/i18n-index.js?v=202610011927"></script>
<script src="assets/js/main.js?v=202610011927"></script>
<script>
// Gleiche URL wie in assets/js/forms.js / postfach.html — läuft seit
// 05.08.2026 auf dem eigenen Server statt auf Cloudflare Workers.