Files
chemenu/kb/sources/transcripts/Source - Public Release, Corpus Purge and History Squash Session 2026-09-01.md
T
torben 00220f8b07 backfill: fidelity/authority auf allen 29 Source-Seiten (#67, Publish 2/3)
Files changed:
- kb/index.md
- kb/log.md
- kb/sources/analyses/Source - Copilot Skill Restructure Instructions.md
- kb/sources/analyses/Source - LLM Improvements Codex Analysis.md
- kb/sources/analyses/Source - LLM Improvements Production Agent Gaps 2026.md
- kb/sources/analyses/Source - LLM Improvements Sonnet Analysis.md
- kb/sources/articles/Source - AMD Powermanagement CPU.md
- kb/sources/articles/Source - LLM Wiki Pattern.md
- kb/sources/articles/Source - LLM Wiki v2.md
- kb/sources/documents/Source - qmd - GitHub Repository.md
- kb/sources/notes/Source - Arch Linux Cheat Sheet.md
- kb/sources/notes/Source - Docker Cheatsheet.md
- kb/sources/notes/Source - Wine.md
- kb/sources/trackers/Source - Gitea Issue 41 - Issue Management and Label Scheme 2026-09-02.md
- kb/sources/trackers/Source - Gitea Issues 62-63 - status-incoming Label Introduction 2026-09-04.md
- kb/sources/transcripts/Source - Conversation - AGENTS.md Skill Restructuring Session 2026-08-04.md
- kb/sources/transcripts/Source - Conversation - Auto Mode and Tool Choice Session 2026-08-31.md
- kb/sources/transcripts/Source - Conversation - Comma Bug Budget Refund and Lint Report Path Session 2026-08-31.md
- kb/sources/transcripts/Source - Conversation - ENVIRONMENT.md as an Optional Third Session-Level File Session 2026-08-31.md
- kb/sources/transcripts/Source - Conversation - Gate Counting and Measured Calibration Session 2026-08-31.md
- kb/sources/transcripts/Source - Conversation - Hardening the Test Suite Against Silent Environment Dependencies Session 2026-08-31.md
- kb/sources/transcripts/Source - Conversation - Issue Triage Labels and TODO Retirement Session 2026-08-31.md
- kb/sources/transcripts/Source - Conversation - Nightly Drift-Check Workflow and doctor's Bootstrap Gap Session 2026-08-31.md
- kb/sources/transcripts/Source - Conversation - Two Round-Trip Defects Found by an Ingest Session 2026-08-31.md
- kb/sources/transcripts/Source - Conversation - Versioning CI-CD and Content Migration Session 2026-08-30.md
- kb/sources/transcripts/Source - Conversation - Write-Once Frontmatter Fields and touch --set Session 2026-08-31.md
- kb/sources/transcripts/Source - MCP Read Server Implementation Session 2026-09-02.md
- kb/sources/transcripts/Source - Private-Instance Merge Correction and Issue 30 Session 2026-09-01.md
- kb/sources/transcripts/Source - Public Release, Corpus Purge and History Squash Session 2026-09-01.md
- kb/sources/transcripts/Source - Publish-Remote Gate and Issue Triage Session 2026-09-01.md
- kb/sources/transcripts/Source - Version Part Nomenclature and Breaking Change Gate Session 2026-09-02.md
- work/backfill-capture-fields/README.md
- work/backfill-capture-fields/plan.md
2026-09-09 06:50:01 +02:00

4.9 KiB

type, source_type, author, raw_files, source_language, date, tags, entities, concepts, summary, fidelity, authority
type source_type author raw_files source_language date tags entities concepts summary fidelity authority
types/source.md transcript Torben
raw/notes/Conversation Transcript - Public Release, Corpus Purge and History Squash Session 2026-09-01.md
de 2026-09-01
Chemenu
wikitool
Mass-Update Gate
Delete Rather Than Anonymize
Dual Licensing by File Plan
Sitzung, die den Chemenu-Stack von einer privaten Testinstanz in ein oeffentliches Repo ueberfuehrt: Korpus geloescht statt anonymisiert, Git-History auf einen Commit gesquashed, AGPL-3.0/CC-BY-4.0-Dual-Lizenz gewaehlt, dist export um einen Leak-Canary gehaertet. verbatim reporting

Source: Public Release, Corpus Purge and History Squash Session 2026-09-01

Autor: Torben
Datum: 2026-09-01
Raw-Dateien: raw/notes/Conversation Transcript - Public Release, Corpus Purge and History Squash Session 2026-09-01.md
Typ: Notes

Zusammenfassung

Torben bat darum, den Chemenu-Korpus zu bereinigen und das Repo zu veröffentlichen, mit ausdrücklichem Wunsch nach Teufels-Advokat-Modus und einer kleinen Multi-Agent-Debatte. Drei parallele Explore-Agenten inventarisierten private Daten, den Distributionsmechanismus und die Git-History; die History-Prüfung erklärte den Baum fälschlich für „safe to publish", ohne USER.md je zu öffnen — ein Befund, der später den Ausschlag für den vollständigen History-Schnitt gab. Drei geforkte Debattierer (harte Trennung, geteiltes Upstream, Teufels-Advokat) argumentierten gegeneinander; die Synthese übernahm „löschen statt anonymisieren" und „History squashen" von der harten Position, das Clone-mit-Upstream-Modell von der geteilten Position, aber unter der Bedingung, dass ein Remote-Gate zuerst existiert — eine Bedingung, die der Teufels-Advokat mit seinem Leck-Argument erzwang.

Nutzer traf vier Entscheidungen über AskUserQuestion: Gitea öffentlich schalten (kleinste Änderung), Korpus chirurgisch löschen, private Instanz als Clone mit Upstream und Gate zuerst, und als Lizenz AGPL-3.0 (Stack) + CC-BY-4.0 (Inhalte) — die Affero-Variante bewusst wegen Issue #19 (MCP-Frontend als Netzdienst).

Ausgeführt wurde: Lizenzdateien (AGPL-Text von gnu.org geholt, nicht aus dem Gedächtnis rekonstruiert), ein Leak-Canary in dist export (find_leaks(), strukturell statt textbasiert, weil ein Muster-Scan den eigenen legitimen Host mit ausschließen müsste), die Korpus-Löschung (108 Seiten statt der im Plan geschätzten ~35, weil 40 Seiten mit generischen Titeln tatsächlich um die private Infrastruktur herum geschrieben waren), der History-Squash auf einen Commit, und die Veröffentlichung selbst.

Zwei Annahmen wurden durch Messung widerlegt und korrigiert: Ein Force-Push allein reicht nicht — der alte HEAD blieb per SHA abrufbar, bis Reflogs auf dem Server verfielen und gc --prune=now lief. Und rg-Scans ohne --hidden übersehen .gitea/, .github/, .vibe/ — ein zweiter Fund (private Referenzen in ci.yml) kam erst über git grep zum Vorschein.

Kernaussagen

  • Ein Seitentitel ist der einzige Identifier des Wikis; Löschen (wikitool rm) ist dafür billiger und sicherer als Anonymisieren, das die volle page-lifecycle-Prozedur pro Seite verlangt.
  • Der eigentliche Preisgeber bei einem Infrastruktur-Handbuch ist die Topologie, nicht der Hostname — gefälschte IPs entschärfen keine Angriffskarte.
  • Ein Force-Push macht alte Commits unreferenziert, aber nicht unerreichbar: Sie bleiben per SHA fetchbar, bis Server-Reflogs verfallen sind und git gc --prune=now gelaufen ist.
  • dist exports Lizenz-Dateien mussten zur Pflicht werden (REQUIRED_ROOT_FILES), weil das übliche if source.is_file()-Muster eine fehlende Lizenz still überspringen würde — bei AGPL eine Verletzung, sobald eine Instanz öffentlich landet.
  • Ein Text-Muster-Scan für Leaks scheitert an legitimen Vorkommen des eigenen Hostnamens; ein struktureller Scan (welche Pfade/Dateien dürfen nie im Plan stehen) umgeht das.

Aufgaben

  • Korpus bereinigt, History gesquasht, Lizenzen gesetzt, Repo veröffentlicht (in dieser Sitzung erledigt)
  • Siehe Issue #27 (Decay-/Lint-Ausschluss für mitgelieferte Seiten) und #28 (Demo-Korpus als eigene Fixture) für Folgearbeit aus dieser Sitzung

Nicht übernommen

  • Die konkreten Namen und Details der gelöschten privaten Infrastruktur (Hostnamen, IP-Bereiche, persönliche Angaben) sind bewusst nicht in diese Source-Seite übernommen — sie zu wiederholen widerspräche dem Zweck der Sitzung. Wo sie als Beispiel dienen mussten, steht hier nur die Art der Information (z. B. "eine Homelab-Cluster-Dokumentation"), nie der Wortlaut.
  • Der volle Wortlaut der drei Debattenpositionen ist nicht übernommen - nur ihre tragenden Argumente und was aus ihnen in die Synthese einging. Der vollständige Text steht im Transkript.

Verwandte Entities

Verwandte Concepts