Repository navigation
CI sichtbar machen und Aussagen richtigstellen - #3
Merged
Merged
Conversation
Der Workflow prueft die Welle-2-Reparatur an create_banner.py: --strict endet bei sauberem Text mit 0 und bei einer echten Safe-Zone-Verletzung ungleich 0, mit Pruefung der Fehlermeldung, damit ein Traceback nicht als bestandener Test durchgeht. Dazu kommen ein Syntaxcheck fuer die Python- und die Node-Datei und scripts/check_versions.py, das die Versionsangaben in README, SKILL.md, index.html und im Report-Template vergleicht. Pillow wird auf >= 10.1 gesetzt, weil ImageFont.load_default() erst ab dieser Version einen size-Parameter kennt. Darunter faellt das Skript auf einen Bitmap-Font in fester Groesse zurueck und meldet die eigene Messung als Verletzung, der Lauf mit sauberem Text wuerde also rot. Die Version stand an sechs Stellen in drei Varianten (v2.1, v2.2, v2.2.0) und steht jetzt ueberall auf v2.2.2, dem obersten Changelog-Eintrag. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BL7UoPomBp2Luhg89R6fYk
…ADME Der Report ist seit v2.2.0 DOCX, nicht PDF. Die README versprach dagegen weiterhin einen PDF-Report mit Radar-Charts und einer 12-Monats-Roadmap: generate_report.js erzeugt kein einziges Diagramm, und seine Roadmap laeuft von Woche 1-2 bis Monat 4-6. Die dokumentierte Ausfuehrung nannte Dateien, die es nicht gibt. Das Skript heisst generate_report.js und nicht report.js, und scripts/office/validate.py existiert im Repo nicht. An seine Stelle tritt eine Pruefung, die ohne Zusatzskript funktioniert. Dazu der Hinweis, dass der Ausgabepfad fest auf die claude.ai-Sandbox zeigt. Neu sind ein Abschnitt Grenzen und ein Abschnitt Roadmap sowie Verweise auf die Gewichtstabelle und die Benchmark-Tabelle in references/SCORING.md, die bisher nur dort standen und aus der README nicht erreichbar waren. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BL7UoPomBp2Luhg89R6fYk
Die Seite bewarb an sieben Stellen einen PDF-Report. Geliefert wird seit v2.2.0 ein DOCX, und eine Karte im Workflow-Abschnitt widersprach sich selbst: die Ueberschrift sagte PDF, der Text darunter DOCX. Radar-Charts kommen im Report nicht vor, generate_report.js erzeugt kein Diagramm, und die Roadmap dort reicht bis Monat 6, nicht ueber 12 Monate. Die Scoring-Engine zeigte zehn Kategorien, die es in SCORING.md nicht gibt (Experience, Skills & Endorsements, Recommendations, Visual Branding, SEO / Keywords, Featured Section), und einen Gesamtscore von 73, der sich aus den daneben stehenden Einzelwerten nicht ergibt. An ihre Stelle treten die zehn echten Kategorien mit ihren Gewichten und die in SCORING.md durchgerechnete Beispielbewertung, deren gewichtete Summe 70,0 ergibt. Der Ring zeigt jetzt 70, der stroke-dashoffset entsprechend 170 statt 150. Das Chat-Mockup nennt dieselbe Rechnung statt frei gewaehlter Zahlen. Die Kennzahl "15+ Seiten" ist durch nichts belegt und weicht der Kapitelzahl, die im Report-Template tatsaechlich angelegt ist. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BL7UoPomBp2Luhg89R6fYk
Der runner-Kontext ist in jobs.<id>.env nicht verfuegbar. Dort stehendes
${{ runner.temp }} haette den Workflow nicht aufgeloest, statt eines
Ausweichpfads waere ein Verzeichnis im Arbeitsbaum entstanden. Die Variable
steht jetzt direkt vor dem Befehl, wo die Shell sie aufloest.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BL7UoPomBp2Luhg89R6fYk
Landingpage: Das Chat-Mockup nannte Content-Qualitaet als groessten Hebel,
SCORING.md markiert fuer dieselbe Beispielbewertung Posting-Frequenz und
definiert den Hebel als niedrigsten gewichteten Beitrag relativ zum Maximum.
Mockup auf Posting-Frequenz umgestellt und den Rohscore ergaenzt.
SKILL.md:
- v2.1.0 nennt nur noch references/ und scripts/, assets/ gab es nie.
- v2.2.2 nennt den KUNDENDATEN-Block mit PROFILE bis LIMITS, Zeile 32-149,
statt Zeile 80-150. Ab Zeile 80 waeren Name, Position, Unternehmen,
Follower und die halbe Executive Summary auf den Platzhaltern geblieben.
- Verifikation prueft nur noch Tabellen auf einen erklaerenden Absatz. Das
Report-Template erzeugt kein Diagramm, siehe README-Abschnitt Grenzen.
- Fehlerbehandlung verweist auf npm install docx im Arbeitsverzeichnis.
require("docx") sucht nur in den node_modules oberhalb des Skripts, das
globale npm-Verzeichnis steht nicht in module.paths. Phase 8.1 Schritt 2
bekommt den Install-Schritt, er fehlte im Vorgehen ganz.
- Untergrenze fuer Wettbewerber: das Quality Gate bleibt bei 3, die
Fehlerbehandlung ist als Ausnahme ausgewiesen statt als zweiter Wert.
- Kapitel 8 des Reports nennt alle vier Roadmap-Bloecke, generate_report.js
erzeugt zusaetzlich Woche 3-4 Content-Start.
README: Der Ordnerbaum listet LICENSE und README.md, beide fuehrt
git ls-files.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BL7UoPomBp2Luhg89R6fYk
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CI und Richtigstellungen (Welle 3)
Was die CI prueft
Der Workflow .github/workflows/ci.yml laeuft auf ubuntu-latest, bei push und pull_request auf main sowie per workflow_dispatch. Er zieht nur actions/checkout@v4 und actions/setup-python@v5. Node kommt aus der Vorinstallation des Runners, dafuer wird keine weitere Action gebraucht.
Sechs Schritte, jeder mit einem realistischen Bruch dahinter:
Alle sechs Schritte wurden lokal Zeile fuer Zeile so ausgefuehrt, wie sie im Workflow stehen, unter bash -eo pipefail. Alle gruen, der Arbeitsbaum bleibt danach sauber.
Was die CI nicht prueft
Unterschiede zwischen lokalem Lauf und Runner
Der lokale Lauf war eine Nachstellung, keine echte GitHub-Action. Was abweicht:
Zaehne-Test
Drei kuenstliche Brueche, jeweils in einer Kopie des Repos, nie im Repo selbst. Alle drei wurden rot.
Der zentrale: in der Kopie wurde sys.exit(1) aus create_banner.py entfernt, also die Welle-2-Reparatur zurueckgenommen. Der Schritt gab aus: "FEHLER: --strict hat die Safe-Zone-Verletzung nicht gemeldet", Exitcode 1. Aufschlussreich daran ist, dass das Skript die Verletzung weiterhin ausdruckte. Ein Check, der nur die Ausgabe liest, waere gruen geblieben.
Dazu: nur die README-Ueberschrift auf v2.3.0 gesetzt, check_versions.py meldete "Versionsangaben laufen auseinander: v2.2.2, v2.3.0" mit Exitcode 1. Und ein offenes Objektliteral ans Ende von generate_report.js gehaengt, node --check meldete "SyntaxError: Unexpected end of input" mit Exitcode 1.
Richtiggestellte Aussagen
Offen
index.html blieb unveraendert im Repo-Root, nur inhaltlich korrigiert. Es wurde nichts gepusht.
🤖 Generated with Claude Code
https://claude.ai/code/session_01BL7UoPomBp2Luhg89R6fYk
Wie dieser Branch entstanden ist
Drei Durchgaenge, jeder mit eigener Abnahme:
hat, und dabei 8 weitere Aussagen gefunden, die immer noch nicht stimmten. Die wurden im
zweiten Durchgang korrigiert.
gingen oder eine neue Ungenauigkeit einfuehrten. Die wurden im dritten Durchgang praezisiert.
Jede Zahl in den geaenderten Texten ist gegen das Repo gemessen, nicht uebernommen.
Zur CI
Die CI prueft nur, was heute wirklich pruefbar ist. Sie wurde absichtlich gebrochen, um zu
belegen, dass ein realistischer Fehler sie rot macht. Was sie nicht abdeckt, steht in der
Beschreibung der einzelnen Schritte.
Gestapelt. Dieser PR sitzt auf
fix/welle-2. GitHub haengt ihn automatisch aufmainum, sobald der darunterliegende PR gemergt ist. Vorher zeigt der Diff nur die Welle-3-Aenderungen, das ist so gewollt.Teil von Welle 3 des Haerteplans: CI sichtbar und Claims ehrlich. Jede Aenderung wurde von einem zweiten Durchgang abgenommen, der die CI-Schritte selbst nachgefahren und die CI absichtlich gebrochen hat.