Skip to content

Werkstoff-Bundle ganz neu aus dem Erzeuger — cody-cad main 10c3f98c (#549) - #54

Merged
Bernhard-Reiter merged 2 commits into
mainfrom
chore/549-werkstoff-bundle
Oct 6, 2026
Merged

Bernhard-Reiter merged 2 commits into
mainfrom
chore/549-werkstoff-bundle

Conversation

@Bernhard-Reiter

Copy link
Copy Markdown
Owner

Was

Das Werkstoff-Bundle in apps/tischler/public/werkstoff-bundle/ ist ganz neu aus dem Erzeuger von cody-cad erzeugt, 1:1, nichts von Hand. Auftrag: Bernhard-Reiter/cody-cad#549 (C4k1 »Bauteil« statt »Werkstück«, cody-cad#548). Das ist auch der Fall »nur Daten geändert → Bundle neu«, der seit Bernhard-Reiter/cody-cad#414 offen ist.

Erzeuger (wörtlich)

cody-cad main 10c3f98c22bb44a1630e8b46db8d6a0b37f1f041, Worktree detached, cwd = cody-cad:

PYTHONPATH=. .venv/bin/python -m werkzeuge.demo_bundle --ausgabe <leerer ordner>

Der Unterordner bundle/ ersetzt apps/tischler/public/werkstoff-bundle/ ganz (auch Löschungen; es gibt keine). Ausgabe: projektion.json sha256 dd62d94a74d0….

Beleg = Byte-Gleichheit Bundle ↔ Erzeuger-Ausgabe

Der Beleg ist nicht die Soll-Tabelle aus #549. Die betrifft die Daten-Bauteile in cody-cad (boden-562x555 usw.), das Bundle trägt die Demo-Teile teil_beispiel* (siehe Issue-Kommentar 6018897583). Belegt wird: Der Erzeuger lief zweimal in leere Ordner, beide Ausgaben sind byte-gleich (diff -r leer). diff -r gegen den PR-Baum ist ebenfalls leer. sha256 je Datei (46 Dateien) ist identisch zwischen Erzeuger-Ausgabe und PR-Baum.

  • katalogstand.json, Feld sha256: 8afbc69b4364cf935c10809c0c93e36342739d9475651d3087f7c9e56d02798b (vorher a30e91df…, 21 → 34 Dateien)
  • auftrag.json, entfernt.json, modell.glb: unverändert

Was sich ändert

  • karten/ (4) und manifeste/ (4): nur der Wortlaut ausgeschlossen[].grund »braucht das Werkstück« → »braucht das Bauteil«, dazu karte_sha256 / resolve_manifest_sha256
  • werkstoffe/: Datenstand seit 11.09. nachgezogen. 13 neue Dateien (familien/ EGGER P2/P3, Aufbauten egger-spanplatte-p2/p3-19-roh, eiche-furniert-p2-19-g10-r2, 3 ADLER-Beschichtungen -r2, 2 Systeme -r2, Träger egger-spanplatte-p2-19-r2/-r3, egger-spanplatte-p3-19). werkstuecke/{boden,fachboden,seite} aufbau.revision 1 → 2. Träger egger-spanplatte-p2-19 bekommt format_breite_mm/format_laenge_mm.
  • katalogstand.json: 21 → 34 Dateien

Pins in bundle.test.ts

Neu gesetzt, vom Erzeugnis abgelesen. Grund im Kommentar: »Datenstand main 10c3f98c, #549/#414«. Die Anzahl bleibt gleich (8 Byte-Pins + 4 karte_sha256), keiner ist gelöscht. AUFTRAG_PIN e55a2f50 und FORMELVERSION werkstoff-ableitung/3 bleiben.

Pin alt neu
BYTE karten/bo0oben 4d7d793c… a5cebe05…
BYTE karten/bo0unten ad16648e… 20f57ff8…
BYTE karten/se0links 0c8774a2… 89656c9c…
BYTE karten/se0rechts 80931182… 483c9151…
BYTE manifeste/bo0oben bdef93d5… 06595fde…
BYTE manifeste/bo0unten e836b928… e3daf6b6…
BYTE manifeste/se0links af59429e… f9f75b9e…
BYTE manifeste/se0rechts 91a913bf… 3246cac8…
karte_sha256 bo0oben e9b200cd… d37d38cd…
karte_sha256 bo0unten 2bcef5e5… 84f50143…
karte_sha256 se0links 57a70d19… d14de513…
karte_sha256 se0rechts 126c6f1e… 6949f817…

Rot zuerst

Commit 1 (dba1d0b) = nur das Bundle, die alten Pins sind daran rot. Commit 2 (850024f) = Pins.

cd apps/tischler && npx vitest run lib/werkstoff/bundle.test.ts an dba1d0b:

   × … > jede Karte trägt den Fingerabdruck, den cody-cad pinnt
   × … > Karten und Manifeste sind Byte für Byte die ausgelieferten — nicht nur ihrer eigenen Auskunft nach
AssertionError: teil_beispielbo0oben: expected 'd37d38cd997f6a4481c417874a76151b52f69…' to be 'e9b200cda5b91d1b51264968038266fab47d7…'
AssertionError: karten/teil_beispielbo0oben.json von Hand geändert? Bundle mit `python -m werkzeuge.demo_bundle` neu erzeugen: expected 'a5cebe0521fc99a488cdba78adfcbb1af013f…' to be '4d7d793ce7922ce22cfb80ae10d096a1375c5…'
 Test Files  1 failed (1)
      Tests  2 failed | 7 passed (9)

An 850024f:

 Test Files  1 passed (1)
      Tests  9 passed (9)

Datengrenze (ADR-0044) und Quellen

  • grep -riE 'preis|cent|eur|rabatt|kondition|ek_|vk_' über das Bundle trifft 17 Dateien. Darin stehen keine Feldnamen mit Geldwort und keine Preise. Die Treffer sind Fachwörter (Eurospan, Euroclass, europäisch, konditionieren = Feuchte-Angleich) und entfernt.json, die Beschreibung des Preisfilters selbst (Bestand). Dazu kommt ein Satz in kanten/massivholz-anleimer-eiche-5x24-eigen.json, der sagt, dass es keinen offenen Preisbeleg gibt (Bestand, byte-gleich).
  • ADLER-Verweise: Die drei ADLER-Beschichtungen -r2 nennen unter unterlagen außer dem TMB je einen Verweis »Sicherheitsdatenblatt (nur mit Kundenkonto)« und »Arbeitsrichtlinie ARL 131/150 — auf Anfrage«. url ist jeweils die Übersichtsseite, dazu fingerabdruck_offen. Aus diesen Dokumenten steht kein Text, kein Wert und kein Fingerabdruck im Bundle. Dieselben Verweise stehen seit 11.09. in den r1-Dateien. Die EGGER-Quellen (TD, DOP, EPD, Verarbeitungshinweise) sind öffentlich ohne Login.

Nebenbefund (nicht geändert)

Der Kommentar über AUFTRAG_PIN sagt »dieselben Werte, die cody-cad pinnt … die vier karte_sha256 (cody-cad: tests/test_vollstaendigkeit_ableitungen.py)«. cody-cad main pinnt AUFTRAG_PIN (tests/test_demo_bundle_rezept.py:32), die karte_sha256 der teil_beispiel*-Karten aber nirgends. Das gilt für die alten und die neuen Werte. Den Kommentar habe ich nicht angefasst (außerhalb des Auftrags).

Test plan

  • Erzeuger zweimal, diff -r leer. Bundle = Erzeuger-Ausgabe, sha256 je Datei gleich.
  • Preis-Grep eingeordnet (oben)
  • vitest run lib/werkstoff/bundle.test.ts an dba1d0b rot (2/9), an 850024f grün (9/9), Ausgabe oben
  • lokales Gate (cm-gate-verify) am Kopf 850024f: core 149/149, tischler 463 grün / 24 übersprungen
  • CI: typecheck / test / lint / boundary-check / build / api-key-guard

🤖 Generated with Claude Code

Bernhard-Reiter and others added 2 commits October 6, 2026 16:54
…3f98c (#549)

Erzeugt mit (cwd = cody-cad, detached 10c3f98c22bb44a1630e8b46db8d6a0b37f1f041):
  PYTHONPATH=. .venv/bin/python -m werkzeuge.demo_bundle --ausgabe <leer>
Der Unterordner bundle/ ersetzt apps/tischler/public/werkstoff-bundle/ ganz.
Zweimal erzeugt, beide Ausgaben byte-gleich. Nichts von Hand.

Geändert: Wortlaut »Bauteil« (C4k1, cody-cad#548) in Karten und Manifesten,
dazu der Datenstand seit #414: 13 neue Werkstoff-Dateien,
werkstuecke/* aufbau.revision 1 -> 2, katalogstand 21 -> 34 Dateien,
sha256 8afbc69b. auftrag.json, entfernt.json und modell.glb sind unverändert.

Die alten Pins in bundle.test.ts sind an diesem Stand absichtlich rot,
der nächste Commit setzt sie neu.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…549/#414)

Die acht Byte-Pins (karten/ und manifeste/) und die vier karte_sha256 sind vom
Erzeugnis aus dem vorigen Commit abgelesen, nicht nachgerechnet. Gleiche Anzahl
Pins, keiner gelöscht. AUFTRAG_PIN e55a2f50 und FORMELVERSION
werkstoff-ableitung/3 bleiben (auftrag.json ist unverändert).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@Bernhard-Reiter
Bernhard-Reiter merged commit 0e71c3f into main Oct 6, 2026
2 checks passed
@Bernhard-Reiter
Bernhard-Reiter deleted the chore/549-werkstoff-bundle branch October 6, 2026 15:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant