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
+10 -10
View File
@@ -11,18 +11,18 @@
<title>Dogfather Webdesign — individuelle Webseiten, persönlich umgesetzt</title>
<meta name="description" content="Individuell gebaute Webseiten statt Baukasten: Onepager ab 300 €, professionelle Websites ab 500 €, Shops ab 1.000 €. Klare Preise, klare Zeitrahmen, eine feste Ansprechperson." />
<meta name="robots" content="noindex, nofollow, noarchive" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610010152" />
<link rel="icon" type="image/png" href="/assets/img/app-symbole/webdesign-32.png?v=202610011927" />
<meta name="theme-color" content="#564e95" />
<!-- Als App installierbar auf Handy und Computer. iOS ignoriert das
Manifest für das Startbildschirm-Symbol vollständig und nimmt NUR
apple-touch-icon — deshalb beides. -->
<link rel="manifest" href="/webdesign/app.webmanifest" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610010152" />
<link rel="apple-touch-icon" href="/assets/img/app-symbole/webdesign-180.png?v=202610011927" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-title" content="Dogfather Webdesign" />
<link rel="stylesheet" href="/assets/css/main.css?v=202610010152" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610010152" />
<link rel="stylesheet" href="/assets/css/main.css?v=202610011927" />
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610011927" />
<style>
/* ---------- Nur auf der Startseite gebraucht ---------- */
@@ -115,7 +115,7 @@
Das Skript ganz unten blendet es nur ein, wenn man in dieser
Browser-Sitzung gerade erst durch die Zugangswand gekommen ist. -->
<div class="wd-intro" id="wd-intro" hidden>
<img class="wd-intro-logo" src="/assets/img/logo-dogfather-transparent.png?v=202610010152" alt="" width="472" height="476" />
<img class="wd-intro-logo" src="/assets/img/logo-dogfather-transparent.png?v=202610011927" alt="" width="472" height="476" />
<p class="wd-intro-gruss" id="wd-intro-gruss">Willkommen</p>
<p class="wd-intro-unter" data-i18n="intro_unter">Dogfather Webdesign — Vorabversion</p>
<button type="button" class="wd-intro-skip" id="wd-intro-skip" data-i18n="intro_ueberspringen">Überspringen</button>
@@ -263,7 +263,7 @@
<div class="wd-grid wd-grid--2" style="margin-top:2.2rem">
<article class="wd-karte wd-projekt wd-auf">
<img class="wd-projekt-bild" src="/assets/img/wd-projekt-universe.jpg?v=202610010152"
<img class="wd-projekt-bild" src="/assets/img/wd-projekt-universe.jpg?v=202610011927"
alt="Startseite von dogfather-universe.com" width="1200" height="750" loading="lazy" decoding="async"
data-i18n-attr="alt:pf_universe_alt" />
<div class="wd-projekt-text">
@@ -289,7 +289,7 @@
Hinweisbalken ganz oben wurde bewusst weggeschnitten — er
gehört nicht in ein Portfolio. -->
<article class="wd-karte wd-karte--lila wd-projekt wd-auf">
<img class="wd-projekt-bild" src="/assets/img/wd-projekt-vandiy.jpg?v=202610010152"
<img class="wd-projekt-bild" src="/assets/img/wd-projekt-vandiy.jpg?v=202610011927"
alt="Startseite von vans-diy-bastelbedarf.com" width="1200" height="696" loading="lazy" decoding="async"
data-i18n-attr="alt:pf_shop_alt" />
<div class="wd-projekt-text">
@@ -357,7 +357,7 @@
<section class="wd-abschnitt wd-abschnitt--gehoben">
<div class="wd-container">
<div class="wd-portrait-grid">
<img class="wd-portrait wd-auf" src="/assets/img/wd-dogfather-portrait.jpg?v=202610010152"
<img class="wd-portrait wd-auf" src="/assets/img/wd-dogfather-portrait.jpg?v=202610011927"
alt="Dogfather" width="900" height="1125" loading="lazy" decoding="async"
data-i18n-attr="alt:wd_foto_alt" />
<div>
@@ -426,8 +426,8 @@
<div id="wd-fuss"></div>
<script src="/assets/js/i18n-wd-index.js?v=202610010152"></script>
<script src="/assets/js/wd-core.js?v=202610010152"></script>
<script src="/assets/js/i18n-wd-index.js?v=202610011927"></script>
<script src="/assets/js/wd-core.js?v=202610011927"></script>
<script>
/* ---------------------------------------------------------------------
Marken-Intro (Masterplan S.3, Schritt 02: "Nach erfolgreichem Code