Commit Graph
100 Commits
Author SHA1 Message Date
torbenandClaude Opus 5.5 a37ca560fb instructions/dev: publish-and-ci - Runner fährt derzeit keine parallelen Jobs; Wartezeiten neu messen, sobald er es tut; 10.1.0-beta.19
CI / verify (push) Successful in 8m10s
CI / pwsh (push) Successful in 2m45s
Release / converters (push) Successful in 27s
Release / release (push) Successful in 38s
Release / wiki-mirror (push) Skipped
Files changed:
- CHANGES.md
- VERSION
- instructions/dev/publish-and-ci.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-16 12:14:09 +02:00
torbenandClaude Opus 5.5 7bb983d855 instructions/dev: publish-and-ci - CI-Wartezeiten auf gemessene Laufzeiten (ein Runner, Jobs nacheinander, ca. 12 Min; Konverter ca. 22), Aufgeben nach 25/35 statt 15 Min; stack-build verweist auf die Grenze statt sie zu wiederholen; 10.1.0-beta.18
CI / verify (push) Successful in 7m48s
CI / pwsh (push) Successful in 2m52s
Release / converters (push) Successful in 27s
Release / release (push) Successful in 36s
Release / wiki-mirror (push) Skipped
Files changed:
- CHANGES.md
- VERSION
- instructions/dev/publish-and-ci.md
- instructions/dev/stack-build/SKILL.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-16 12:12:36 +02:00
torbenandClaude Opus 5.5 77fb427efd tools: export run/upload collect - Fehlertexte im Kommandovertrag nennen die Backup-Ordner und die Laufzeit-Ablehnung von Backup- und Exportdaten (#216); 10.1.0-beta.17
CI / verify (push) Successful in 7m51s
CI / pwsh (push) Successful in 2m41s
Release / converters (push) Successful in 26s
Release / release (push) Successful in 34s
Release / wiki-mirror (push) Skipped
Files changed:
- CHANGES.md
- VERSION
- docs/reference/commands/exports.md
- docs/reference/commands/raw-material-and-uploads.md
- tools/CONTRACT.md
- tools/chemenu/commands/export_cmd.py
- tools/chemenu/commands/upload_cmd.py

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-16 11:57:23 +02:00
torbenandClaude Sonnet 5.5 02bf3b0403 tools: Export- und Eingangsordner im Backup-Ziel - Überschneidungsregel nur noch auf <ziel>/git und den eigenen Maschinenordner, Laufzeitprüfung auf Vorfahren in upload collect und export run (#216); 10.1.0-beta.16
CI / verify (push) Successful in 8m17s
CI / pwsh (push) Successful in 2m52s
Release / converters (push) Successful in 26s
Release / release (push) Successful in 37s
Release / wiki-mirror (push) Skipped
Files changed:
- CHANGES.md
- VERSION
- docs/how-to/back-up-to-a-synced-folder.md
- docs/how-to/collect-from-a-synced-folder.md
- docs/how-to/export-to-a-synced-folder.md
- docs/reference/commands/exports.md
- docs/reference/commands/raw-material-and-uploads.md
- docs/reference/configuration.md
- tools/CONTRACT.md
- tools/chemenu/backup.py
- tools/chemenu/collect.py
- tools/chemenu/commands/export_cmd.py
- tools/chemenu/commands/upload_cmd.py
- tools/chemenu/config_shapes.py
- tools/chemenu/page_export.py
- tools/chemenu/tests/test_collect.py
- tools/chemenu/tests/test_export_run.py
- tools/chemenu/upload.py

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-16 11:19:12 +02:00
torbenandClaude Sonnet 5.5 b48a35b224 tools/bugreport: --bundle/--chronology tauscht die Chronologie eines vorhandenen Bündels - Geheimnisse, Titelschutz und Pseudonyme wie beim Sammeln, kein wikitool-Aufruf, kein zweites Bündel; bug-report.md prüft die Chronologie vor dem Sammeln und nennt den Austausch als Entscheidungspunkt (#220); 10.1.0-beta.15
CI / verify (push) Successful in 8m17s
CI / pwsh (push) Successful in 2m53s
Release / converters (push) Successful in 26s
Release / release (push) Successful in 37s
Release / wiki-mirror (push) Skipped
Files changed:
- CHANGES.md
- VERSION
- docs/how-to/troubleshoot.md
- instructions/bug-report.md
- tools/README.md
- tools/bugreport.py
- tools/chemenu/tests/test_bugreport.py

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-16 06:50:53 +02:00
torbenandClaude Opus 5.5 b219adde91 gates.md/session-setup.md: Regel für eine neue Session-Id nur noch in gates.md - session-setup verweist statt die plan.md-Grenze zu wiederholen, gates.md zählt die beiden Agenten-Fälle (#219); 10.1.0-beta.14
CI / verify (push) Successful in 7m57s
CI / pwsh (push) Successful in 2m42s
Release / converters (push) Successful in 26s
Release / release (push) Successful in 36s
Release / wiki-mirror (push) Skipped
Files changed:
- CHANGES.md
- VERSION
- instructions/gates.md
- instructions/session-setup.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-16 00:10:15 +02:00
torbenandClaude Sonnet 5.5 3197acfc6a wiki-ingest: ein Lauf endet nach einer Quelle mit Stopp und /clear-Empfehlung - keine Schleife über mehrere Einträge im selben Kontext; Subagents für den Ingest verworfen, capture-session delegiert nicht mehr; gates.md: neuer Lauf auf ausdrücklichen Wunsch ist eine Einheitsgrenze (#219); 10.1.0-beta.13
CI / verify (push) Successful in 8m5s
CI / pwsh (push) Successful in 2m43s
Release / converters (push) Successful in 27s
Release / release (push) Successful in 36s
Release / wiki-mirror (push) Skipped
Files changed:
- CHANGES.md
- VERSION
- docs/how-to/capture-repository-docs.md
- docs/how-to/ingest-a-source.md
- instructions/capture-session.md
- instructions/gates.md
- instructions/wiki-ingest/SKILL.md

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-15 23:32:11 +02:00
torbenandClaude Opus 5.5 52078bb4b0 export run: commit= im Marker je Seite statt je Ziel - jede Datei nennt den letzten Commit ihrer eigenen Seite, ermittelt in einem git log über alle ausgewählten Pfade (Pfade über stdin und wörtlich), das Manifest behält den neuesten Commit über alle; ein Commit schreibt nur die Dateien der Seiten neu, die er berührt hat, plus Dateien, deren Links sich ändern. Erster Lauf nach dem Update schreibt jede Datei einmal neu (#221); 10.1.0-beta.12
CI / verify (push) Successful in 7m54s
CI / pwsh (push) Successful in 2m42s
Release / converters (push) Successful in 26s
Release / release (push) Successful in 36s
Release / wiki-mirror (push) Skipped
Files changed:
- CHANGES.md
- VERSION
- docs/how-to/export-to-a-synced-folder.md
- docs/reference/commands/exports.md
- docs/reference/configuration.md
- tools/CONTRACT.md
- tools/chemenu/commands/export_cmd.py
- tools/chemenu/guideline_export.py
- tools/chemenu/page_export.py
- tools/chemenu/tests/test_export_run.py

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-15 22:53:29 +02:00
torbenandClaude Opus 5.5 ca12c54200 wiki-query: Wortlaut geführt in der Rohdatei nachlesen - neuer Schritt 4 über Seite, Source-Seite, raw_files: und Gliederung im Kopf der Ableitung bis zum Zeilenbereich, nie Suche in raw/; ohne Gliederung ganz unter der Längenschwelle, darüber Hinweis auf neue Ableitung; Zitat in Originalsprache mit Seitenzahl, Auszeichnungen nicht als Wortlaut, Gestrichenes benannt; Antwort nur in der Rohdatei benennt die Lücke. kb/CONTRACT.md: Qualitätsziel gilt der Substanz (#227); 10.1.0-beta.11
CI / verify (push) Successful in 7m57s
CI / pwsh (push) Successful in 2m42s
Release / converters (push) Successful in 26s
Release / release (push) Successful in 36s
Release / wiki-mirror (push) Skipped
Files changed:
- CHANGES.md
- VERSION
- docs/explanation/pipeline-rationale.md
- docs/how-to/query-the-wiki.md
- instructions/wiki-query/SKILL.md
- kb/CONTRACT.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-15 22:11:33 +02:00
torbenandClaude Opus 5.5 4f5913a9c8 docs/explanation: knowledge-and-commitment nennt auch die lange Quelle als Weg in den Großbaum-Ingest; die Commitment-Frage fällt dort nicht immer je Unit (#226)
CI / verify (push) Successful in 7m59s
CI / pwsh (push) Successful in 2m45s
Files changed:
- docs/explanation/knowledge-and-commitment.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-15 21:46:40 +02:00
torbenandClaude Opus 5.5 eae4a427d2 raw derive/fetch/pending: Länge als dritte Größenachse beim Ingest - eine CHECK-Zeile nennt jeden geschriebenen Text über LONG_TEXT_CHARS (Zeichen der .md wie geschrieben), raw pending markiert eine lange .md/.txt mit long:; ingest-large-tree liest ihn in Teilen nach der Gliederung, je Teil nur den Zeilenbereich, Extrakt als Faktenliste mit Fundstelle und Modalität (#226); 10.1.0-beta.10
CI / verify (push) Successful in 7m55s
CI / pwsh (push) Successful in 2m41s
Converters / converters (push) Successful in 9m32s
Release / converters (push) Successful in 27s
Release / release (push) Successful in 37s
Release / wiki-mirror (push) Skipped
Files changed:
- CHANGES.md
- VERSION
- docs/how-to/ingest-a-source.md
- docs/reference/commands/raw-material-and-uploads.md
- instructions/ingest-large-tree.md
- instructions/wiki-ingest/SKILL.md
- raw/CONTRACT.md
- tools/CONTRACT.md
- tools/chemenu/commands/raw/_common.py
- tools/chemenu/commands/raw/derive.py
- tools/chemenu/commands/raw/fetch.py
- tools/chemenu/commands/raw/pending.py
- tools/chemenu/tests/test_raw_derive.py
- tools/chemenu/tests/test_raw_fetch.py
- types/source.guidance.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-15 21:21:24 +02:00
torbenandClaude Code 9cb981a4cd wiki-ingest: Schritt 1 schickt die Sitzung vor dem Gespräch in read-page-images.md, bis zur Schwelle sind die Seitenbilder keine Frage an den Nutzer; neuer Entscheidungspunkt dagegen. Die beta.8-Probe hatte die Anweisung vor ihrer Rückfrage nie geöffnet (#234); 10.1.0-beta.9
CI / verify (push) Successful in 8m2s
CI / pwsh (push) Successful in 2m41s
Release / converters (push) Successful in 26s
Release / release (push) Successful in 36s
Release / wiki-mirror (push) Skipped
Files changed:
- CHANGES.md
- VERSION
- instructions/read-page-images.md
- instructions/wiki-ingest/SKILL.md

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-15 15:28:03 +02:00
torbenandClaude Opus 5.5 be694e3962 read-page-images: Hat der Harness Subagenten, liest einer die Seitenbilder, und die Ingest-Sitzung öffnet sie gar nicht selbst, auch nicht zur Kontrolle; neuer Entscheidungspunkt dafür. Die Probeläufe hatten Schritt 3 in 0 von 2 Läufen befolgt (#234); 10.1.0-beta.8
CI / verify (push) Successful in 7m53s
CI / pwsh (push) Successful in 2m42s
Release / converters (push) Successful in 27s
Release / release (push) Successful in 37s
Release / wiki-mirror (push) Skipped
Files changed:
- CHANGES.md
- VERSION
- instructions/read-page-images.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-15 11:37:14 +02:00
torbenandClaude Code 128c7f5c59 raw derive PDF: Kopf nennt Bildseiten (images) und nicht zugeordnete Seiten (unmatched); neue Anweisung read-page-images für den gezielten Blick auf diese Seiten, Schwelle 20 Seiten (#234); 10.1.0-beta.7
CI / verify (push) Successful in 8m9s
CI / pwsh (push) Successful in 2m52s
Converters / converters (push) Successful in 9m27s
Release / converters (push) Successful in 25s
Release / release (push) Successful in 34s
Release / wiki-mirror (push) Skipped
Files changed:
- CHANGES.md
- VERSION
- docs/how-to/ingest-a-source.md
- docs/reference/commands/raw-material-and-uploads.md
- instructions/ingest-large-tree.md
- instructions/read-page-images.md
- instructions/wiki-ingest/SKILL.md
- raw/CONTRACT.md
- tools/CONTRACT.md
- tools/chemenu/commands/raw/derive.py
- tools/chemenu/filters/pdf.py
- tools/chemenu/filters/pdf_layout.py
- tools/chemenu/tests/test_raw_derive_binary.py
- types/source.guidance.md

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-15 06:36:47 +02:00
torbenandClaude Opus 5.5 cb1c9a2963 raw derive PDF: Durchstreichung und Textmarker lassen Programmtext aus, wie Vertrag und Body von #231 sagen; am Korpus unverändert (#231); 10.1.0-beta.6
CI / verify (push) Successful in 8m2s
CI / pwsh (push) Successful in 2m48s
Converters / converters (push) Successful in 9m30s
Release / converters (push) Successful in 26s
Release / release (push) Successful in 36s
Release / wiki-mirror (push) Skipped
Files changed:
- CHANGES.md
- VERSION
- tools/chemenu/filters/pdf_layout.py
- tools/chemenu/tests/test_raw_derive_binary.py

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-14 21:20:00 +02:00
torbenandClaude Code a581271165 raw derive PDF: Auszeichnungen auf ein Minimum - Struktur zuerst (Fließtext, Code, Tabellengitter, Vorlagen), ~~ ** * nur wo die Form eindeutig ist, Bildseiten-CHECK nur für Inhaltsbilder (#231); 10.1.0-beta.5
CI / verify (push) Successful in 8m1s
CI / pwsh (push) Successful in 2m41s
Converters / converters (push) Successful in 9m30s
Release / converters (push) Successful in 26s
Release / release (push) Successful in 35s
Release / wiki-mirror (push) Skipped
Files changed:
- CHANGES.md
- VERSION
- docs/how-to/ingest-a-source.md
- docs/reference/commands/raw-material-and-uploads.md
- raw/CONTRACT.md
- tools/CONTRACT.md
- tools/chemenu/commands/raw/derive.py
- tools/chemenu/filters/pdf.py
- tools/chemenu/filters/pdf_layout.py
- tools/chemenu/tests/binary_formats.py
- tools/chemenu/tests/test_raw_derive_binary.py

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-14 20:23:07 +02:00
torbenandClaude Opus 5.5 01360e9045 instructions/dev: converter-comparison nennt harness/compare/README.md als Ort der Einrichtung statt der README des privaten Repos (#233 close); 10.1.0-beta.4
CI / verify (push) Successful in 7m53s
CI / pwsh (push) Successful in 2m44s
Release / converters (push) Successful in 27s
Release / release (push) Successful in 36s
Release / wiki-mirror (push) Skipped
Files changed:
- CHANGES.md
- VERSION
- instructions/dev/converter-comparison.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-14 18:31:35 +02:00
torbenandClaude Opus 5.5 d393e2ffe1 instructions/dev: Konverter-Vergleich – eigene Ableitung gegen Referenzwerkzeuge am privaten Korpus, sieben Maße, Grundlinie nur bewusst fortgeschrieben (#233); 10.1.0-beta.3
CI / verify (push) Successful in 8m2s
CI / pwsh (push) Successful in 2m44s
Release / converters (push) Successful in 27s
Release / release (push) Successful in 37s
Release / wiki-mirror (push) Skipped
Files changed:
- CHANGES.md
- VERSION
- docs/dev/development.md
- instructions/dev/converter-comparison.md
- instructions/dev/stack-mode.md
- instructions/dev/testing-conventions.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-14 18:07:51 +02:00
torbenandClaude Opus 5.5 c439dc68af ci: converters.yml header names the grant in the private repository's Actions settings as what lets the job token read it, instead of the 1Password fallback that turned out unnecessary (#232 close)
CI / verify (push) Successful in 7m56s
CI / pwsh (push) Successful in 2m45s
Converters / converters (push) Successful in 8m53s
Files changed:
- .gitea/workflows/converters.yml

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-14 16:33:33 +02:00
torbenandClaude Opus 5.5 028f6204f3 docs: development.md says the converters job reads the private corpus only through a grant in that repository's Actions settings, and what the checkout error looks like without it (#232 close)
CI / verify (push) Successful in 7m53s
CI / pwsh (push) Successful in 2m47s
Files changed:
- docs/dev/development.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-14 16:33:06 +02:00
torbenandClaude Code 71170bc1e8 converters: Testkorpus und Harness ziehen nach torben/chemenu-testfiles, Workflow Converters mit Pfad-Trigger, Release-Gate (#232); 10.1.0-beta.2
CI / verify (push) Successful in 7m58s
CI / pwsh (push) Successful in 2m52s
Converters / converters (push) Failing after 1m0s
Release / converters (push) Successful in 27s
Release / release (push) Successful in 37s
Release / wiki-mirror (push) Skipped
Files changed:
- .gitattributes
- .gitea/workflows/converters.yml
- .gitea/workflows/release.yml
- .gitignore
- CHANGES.md
- VERSION
- docs/dev/development.md
- instructions/dev/dev-setup.md
- instructions/dev/publish-and-ci.md
- instructions/dev/testing-conventions.md
- testfiles/README.md
- testfiles/mail/github-outlook.msg
- testfiles/mail/github-roundcube.eml
- testfiles/mail/gog-outlook.msg
- testfiles/mail/gog-roundcube.eml
- testfiles/mail/gog-roundcube.eml.expect
- testfiles/mail/tldr-outlook.msg
- testfiles/mail/tldr-roundcube.eml
- testfiles/office/excel-artificial.xlsx
- testfiles/office/excel-business.xlsx
- testfiles/office/excel-business.xlsx.expect
- testfiles/office/excel-science.xlsx
- testfiles/office/pptx-baseline.pptx
- testfiles/office/pptx-master.pptx
- testfiles/office/pptx-objects.pptx
- testfiles/office/word-complex.docx
- testfiles/office/word-simple.docx
- testfiles/pdf/einstein-dissertation.pdf
- testfiles/pdf/ifg.pdf
- testfiles/pdf/nist-ai-rmf.pdf
- testfiles/pdf/nist-ssdf-genai.pdf
- testfiles/zip/archive.zip
- tools/chemenu/tests/test_raw_derive_testfiles.py

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-14 15:05:12 +02:00
torbenandClaude Code 3bf179ae8c docs: ingest how-to says a PDF header carries the outline and the text its colour markings and image-page CHECK (#225 close)
CI / verify (push) Successful in 10m52s
CI / pwsh (push) Successful in 2m53s
Files changed:
- docs/how-to/ingest-a-source.md

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-14 06:36:28 +02:00
torbenandClaude Code a829560bf2 raw derive PDF: Gliederung mit Seite und Zeile im Kopf, Hinterlegungen, Durchstreichungen und abweichende Textfarben als Auszeichnung im Text, Bildseiten als CHECK (#225); 10.1.0-beta.1
CI / verify (push) Successful in 10m35s
CI / pwsh (push) Successful in 2m51s
Release / release (push) Successful in 38s
Release / wiki-mirror (push) Skipped
Files changed:
- CHANGES.md
- VERSION
- docs/reference/commands/raw-material-and-uploads.md
- raw/CONTRACT.md
- tools/CONTRACT.md
- tools/README.md
- tools/chemenu/commands/raw/derive.py
- tools/chemenu/filters/__init__.py
- tools/chemenu/filters/pdf.py
- tools/chemenu/filters/pdf_layout.py
- tools/chemenu/tests/binary_formats.py
- tools/chemenu/tests/test_raw_derive_binary.py
- tools/requirements.txt

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-14 05:17:50 +02:00
torbenandClaude Opus 5.5 f2f251ff90 docs: collect how-to records what OneDrive on Windows does to a phone upload (online-only placeholder, original times kept, so settle_seconds does not hold it back), export how-to says a tenant found and used the .md files (#213 E3, #214 F1)
CI / verify (push) Successful in 8m48s
CI / pwsh (push) Successful in 2m42s
Files changed:
- docs/how-to/collect-from-a-synced-folder.md
- docs/how-to/export-to-a-synced-folder.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-13 13:51:31 +02:00
torbenandClaude Opus 5.5 96adfe47de release: 10.0.0 - Einstellungen in drei Stufen, Eingangskanäle, raw fetch mit Site-Handlern und Login, Backup und Exporte
CI / verify (push) Successful in 8m40s
CI / pwsh (push) Successful in 2m47s
Release / release (push) Successful in 40s
Release / wiki-mirror (push) Successful in 27s
Files changed:
- CHANGES.md
- VERSION

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-13 08:08:48 +02:00
torbenandClaude Opus 5.5 d92800f372 docs: publish-cycle says what a WARN or ERROR from the page export after publish means, architecture names the page export as the way out for a reader that cannot ask (#214 close); 10.0.0-beta.14
CI / verify (push) Successful in 8m49s
CI / pwsh (push) Successful in 2m40s
Release / release (push) Successful in 35s
Release / wiki-mirror (push) Skipped
Files changed:
- CHANGES.md
- VERSION
- docs/explanation/architecture.md
- instructions/publish-cycle.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-13 06:39:19 +02:00
torbenandClaude Code 99945c4841 export: export run writes selected kb/ pages as a derived, read-only version into configured target folders (markdown and command handlers, manifest, after_publish), raw accept also refuses manifest-listed files, doctor checks the section (#214); 10.0.0-beta.13
CI / verify (push) Successful in 9m2s
CI / pwsh (push) Successful in 2m48s
Release / release (push) Successful in 34s
Release / wiki-mirror (push) Skipped
Files changed:
- CHANGES.md
- VERSION
- docs/how-to/README.md
- docs/how-to/back-up-to-a-synced-folder.md
- docs/how-to/collect-from-a-synced-folder.md
- docs/how-to/export-guidelines.md
- docs/how-to/export-to-a-synced-folder.md
- docs/reference/commands/README.md
- docs/reference/commands/exports.md
- docs/reference/commands/git.md
- docs/reference/commands/guideline-export.md
- docs/reference/commands/instance-health.md
- docs/reference/commands/raw-material-and-uploads.md
- docs/reference/configuration.md
- docs/reference/exit-codes.md
- instructions/setup-instance.md
- raw/CONTRACT.md
- tools/CONTRACT.md
- tools/README.md
- tools/chemenu/backup.py
- tools/chemenu/cli_contract.py
- tools/chemenu/commands/doctor.py
- tools/chemenu/commands/export_cmd.py
- tools/chemenu/commands/git_publish.py
- tools/chemenu/commands/raw/_common.py
- tools/chemenu/commands/raw/accept.py
- tools/chemenu/commands/raw/capture.py
- tools/chemenu/config_shapes.py
- tools/chemenu/guideline_export.py
- tools/chemenu/page_export.py
- tools/chemenu/reference_doc.py
- tools/chemenu/repo_capture.py
- tools/chemenu/tests/test_config_shapes.py
- tools/chemenu/tests/test_export_run.py

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-13 05:53:48 +02:00
torbenandClaude Opus 5.5 ecefe0a033 gates: AGENTS.md § Gates and mcp-read-server name every intake channel behind the Upload Review Gate, not only submit (#213 close); 10.0.0-beta.12
CI / verify (push) Successful in 8m19s
CI / pwsh (push) Successful in 2m37s
Release / release (push) Successful in 33s
Release / wiki-mirror (push) Skipped
Files changed:
- AGENTS.md
- CHANGES.md
- VERSION
- docs/reference/configuration.md
- instructions/mcp-read-server.md
- tools/chemenu/commands/doctor.py

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-12 22:26:04 +02:00
torbenandClaude Code cceb9a7bfe intake: several configured intake channels (mcp, folder, command) all end in quarantine/ (was mcp-upload/), and upload collect pulls the synced-folder and command channels into it (#213); 10.0.0-beta.11
CI / verify (push) Successful in 8m41s
CI / pwsh (push) Successful in 2m44s
Release / release (push) Successful in 35s
Release / wiki-mirror (push) Skipped
Files changed:
- .gitignore
- CHANGES.md
- VERSION
- docs/explanation/architecture.md
- docs/explanation/pipeline-rationale.md
- docs/how-to/README.md
- docs/how-to/back-up-to-a-synced-folder.md
- docs/how-to/collect-from-a-synced-folder.md
- docs/how-to/ingest-a-source.md
- docs/how-to/set-up-the-mcp-server.md
- docs/reference/commands/README.md
- docs/reference/commands/git.md
- docs/reference/commands/instance-health.md
- docs/reference/commands/raw-material-and-uploads.md
- docs/reference/configuration.md
- instructions/gates.md
- instructions/ingest-queue.md
- instructions/mcp-read-server.md
- instructions/migrations/10.0.0-settings-tiers.md
- instructions/wiki-ingest/SKILL.md
- raw/CONTRACT.md
- tools/CONTRACT.md
- tools/README.md
- tools/chemenu/cli_contract.py
- tools/chemenu/collect.py
- tools/chemenu/commands/backup_cmd.py
- tools/chemenu/commands/docs_verify.py
- tools/chemenu/commands/doctor.py
- tools/chemenu/commands/raw/pending.py
- tools/chemenu/commands/upload_cmd.py
- tools/chemenu/config.py
- tools/chemenu/config_shapes.py
- tools/chemenu/legacy_settings.py
- tools/chemenu/mcp/server.py
- tools/chemenu/reference_doc.py
- tools/chemenu/tests/test_backup.py
- tools/chemenu/tests/test_collect.py
- tools/chemenu/tests/test_config_shapes.py
- tools/chemenu/tests/test_doctor.py
- tools/chemenu/tests/test_legacy_settings.py
- tools/chemenu/tests/test_mcp_server.py
- tools/chemenu/tests/test_upload.py
- tools/chemenu/tests/test_upload_cmd.py
- tools/chemenu/upload.py

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-12 22:04:18 +02:00
torbenandClaude Opus 5.5 3627168403 docs: maintain-the-wiki names the synced-folder backup for an instance without a git server, and what a failed machine-data backup after a push means (#186 close)
CI / verify (push) Successful in 8m35s
CI / pwsh (push) Successful in 2m41s
Files changed:
- docs/how-to/maintain-the-wiki.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-12 19:58:14 +02:00
torbenandClaude Opus 5.5 9736472f48 backup: an instance backs up into a synced folder - backup init makes a bare repository under <target>/git its origin, backup run and publish mirror the machine data into <target>/<machine>/, doctor warns about .git in a synced folder (#186); 10.0.0-beta.10
CI / verify (push) Successful in 8m24s
CI / pwsh (push) Successful in 2m45s
Release / release (push) Successful in 34s
Release / wiki-mirror (push) Skipped
Files changed:
- CHANGES.md
- INSTALL.md
- VERSION
- docs/explanation/configuration-tiers.md
- docs/how-to/README.md
- docs/how-to/back-up-to-a-synced-folder.md
- docs/reference/commands/README.md
- docs/reference/commands/git.md
- docs/reference/commands/instance-health.md
- docs/reference/configuration.md
- instructions/publish-cycle.md
- instructions/setup-instance.md
- tools/CONTRACT.md
- tools/README.md
- tools/chemenu/backup.py
- tools/chemenu/cli.py
- tools/chemenu/cli_contract.py
- tools/chemenu/commands/backup_cmd.py
- tools/chemenu/commands/doctor.py
- tools/chemenu/commands/git_publish.py
- tools/chemenu/config_shapes.py
- tools/chemenu/reference_doc.py
- tools/chemenu/tests/conftest.py
- tools/chemenu/tests/test_backup.py
- tools/chemenu/tests/test_config_shapes.py

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-12 19:39:49 +02:00
torben e789146116 ingest: raw/2026/10/introducing-openwiki-brains-general-purpose-wiki-memory-for
Files changed:
- kb/entities/INDEX.md
- kb/entities/tools/OpenWiki.md
- kb/index.md
- kb/log.md
- kb/provenance.md
- kb/sources/INDEX.md
- kb/sources/articles/Source - Introducing OpenWiki Brains.md
- raw/2026/10/introducing-openwiki-brains-general-purpose-wiki-memory-for/introducing-openwiki-brains-general-purpose-wiki-memory-for.html
- raw/2026/10/introducing-openwiki-brains-general-purpose-wiki-memory-for/introducing-openwiki-brains-general-purpose-wiki-memory-for.md
2026-10-12 08:34:13 +02:00
torbenandClaude Code 0f0a5799fd instructions: the agent speaks the KB language in chat - AGENTS.md § Conversation language, and instructions sync compiles the language tag into every published SKILL.md (#116); 10.0.0-beta.9
CI / verify (push) Successful in 8m6s
CI / pwsh (push) Successful in 2m50s
Release / release (push) Successful in 33s
Release / wiki-mirror (push) Skipped
Files changed:
- AGENTS.md
- CHANGES.md
- VERSION
- docs/explanation/language-boundaries.md
- docs/reference/commands/types-instructions-and-docs.md
- instructions/CONTRACT.md
- instructions/dev/stack-build/SKILL.md
- instructions/dev/stack-close/SKILL.md
- instructions/dev/stack-dev/SKILL.md
- kb/CONVENTIONS.md
- kb/CONVENTIONS.md.template
- tools/CONTRACT.md
- tools/chemenu/commands/doctor.py
- tools/chemenu/commands/instructions_cmd.py
- tools/chemenu/tests/test_doctor.py
- tools/chemenu/tests/test_instructions_cmd.py

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-12 06:57:51 +02:00
torbenandClaude Opus 5.5 c06bde2e95 docs: a website session is a secret without a reference - configuration-tiers says why raw login writes it into the secrets file itself and that the 1Password safeguards do not cover it; the secret tier row names it (#169 close)
CI / verify (push) Successful in 8m21s
CI / pwsh (push) Successful in 2m40s
Files changed:
- docs/explanation/configuration-tiers.md
- docs/reference/configuration.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-11 21:15:40 +02:00
torbenandClaude Opus 5.5 5994b2a88c raw: fetch behind a login - raw login stores the user's session as a secret outside the tree, fetch.routes sends a host through it or to an external fetcher, a handler's render goes through the optional browser component (preflight --with browser) (#169); 10.0.0-beta.8
CI / verify (push) Successful in 8m8s
CI / pwsh (push) Successful in 2m40s
Release / release (push) Successful in 35s
Release / wiki-mirror (push) Skipped
Files changed:
- CHANGES.md
- INSTALL.md
- VERSION
- docs/how-to/README.md
- docs/how-to/fetch-pages-behind-a-login.md
- docs/how-to/ingest-a-source.md
- docs/reference/commands/README.md
- docs/reference/commands/instance-health.md
- docs/reference/commands/raw-material-and-uploads.md
- docs/reference/configuration.md
- docs/reference/exit-codes.md
- instructions/preflight.md
- instructions/wiki-ingest/SKILL.md
- raw/CONTRACT.md
- sites/CONTRACT.md
- tools/CONTRACT.md
- tools/README.md
- tools/chemenu/browser.py
- tools/chemenu/cli_contract.py
- tools/chemenu/commands/doctor.py
- tools/chemenu/commands/raw/__init__.py
- tools/chemenu/commands/raw/fetch.py
- tools/chemenu/commands/raw/login.py
- tools/chemenu/config_shapes.py
- tools/chemenu/fetch_routes.py
- tools/chemenu/reference_doc.py
- tools/chemenu/settings.py
- tools/chemenu/sites/__init__.py
- tools/chemenu/sites/data.py
- tools/chemenu/sites/site.schema.json
- tools/chemenu/tests/test_cli.py
- tools/chemenu/tests/test_config_shapes.py
- tools/chemenu/tests/test_doctor.py
- tools/chemenu/tests/test_preflight.py
- tools/chemenu/tests/test_preflight_pwsh.py
- tools/chemenu/tests/test_raw_fetch_routes.py
- tools/chemenu/tests/test_raw_login.py
- tools/chemenu/tests/test_site_files.py
- tools/chemenu/web_capture.py
- tools/chemenu/web_session.py
- tools/preflight.ps1
- tools/preflight.sh
- tools/requirements-browser.txt

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-11 20:50:23 +02:00
torbenandClaude Opus 5.5 aed846740b raw: --scope is the user's call - raw/CONTRACT.md says who starts it and why it is not following a link, wiki-ingest asks before rerunning with it; 10.0.0-beta.7
CI / verify (push) Successful in 8m5s
CI / pwsh (push) Successful in 2m32s
Release / release (push) Successful in 34s
Release / wiki-mirror (push) Skipped
Files changed:
- CHANGES.md
- VERSION
- instructions/wiki-ingest/SKILL.md
- raw/CONTRACT.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-11 19:08:47 +02:00
torbenandClaude Code 21cdd787b7 sites: raw fetch --scope fetches a page and the subpages its site handler offers as one bundle in incoming/<stem>/, with robots.txt, max_pages and pause_seconds; 10.0.0-beta.6
CI / verify (push) Successful in 8m33s
CI / pwsh (push) Successful in 2m35s
Release / release (push) Successful in 35s
Release / wiki-mirror (push) Skipped
Files changed:
- CHANGES.md
- VERSION
- docs/how-to/ingest-a-source.md
- docs/how-to/write-a-site-handler.md
- docs/reference/commands/raw-material-and-uploads.md
- docs/reference/configuration.md
- raw/CONTRACT.md
- sites/CONTRACT.md
- tools/CONTRACT.md
- tools/README.md
- tools/chemenu/commands/raw/fetch.py
- tools/chemenu/config_shapes.py
- tools/chemenu/sites/__init__.py
- tools/chemenu/sites/data.py
- tools/chemenu/sites/handlers/learn-microsoft-powershell-module.json
- tools/chemenu/sites/site.schema.json
- tools/chemenu/tests/test_raw_fetch.py
- tools/chemenu/tests/test_raw_fetch_scope.py
- tools/chemenu/tests/test_site_files.py
- tools/chemenu/tests/test_sites.py
- tools/chemenu/web_capture.py

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-11 18:36:10 +02:00
torbenandClaude Code f25ee6a1ce doctor: the structure check's description names sites/CONTRACT.md, which doctor has required since the instance's site handlers (#210 close); 10.0.0-beta.5
CI / verify (push) Successful in 7m58s
CI / pwsh (push) Successful in 2m31s
Release / release (push) Successful in 35s
Release / wiki-mirror (push) Skipped
Files changed:
- CHANGES.md
- VERSION
- docs/reference/commands/instance-health.md
- tools/CONTRACT.md
- tools/chemenu/commands/doctor.py

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-11 16:06:05 +02:00
torbenandClaude Code 0f39cfdb49 sites: the instance writes its own site handlers as JSON files under sites/, the stack's learn.microsoft.com handlers become data files in the same format (#210); 10.0.0-beta.4
CI / verify (push) Successful in 8m26s
CI / pwsh (push) Successful in 2m35s
Release / release (push) Successful in 35s
Release / wiki-mirror (push) Skipped
Files changed:
- .gitignore
- AGENTS.md
- CHANGES.md
- VERSION
- docs/explanation/architecture.md
- docs/how-to/README.md
- docs/how-to/write-a-site-handler.md
- docs/reference/commands/instance-health.md
- docs/reference/commands/raw-material-and-uploads.md
- docs/reference/configuration.md
- instructions/dev/doc-pull-through.md
- raw/CONTRACT.md
- sites/CONTRACT.md
- tools/CONTRACT.md
- tools/README.md
- tools/chemenu/commands/dist_cmd.py
- tools/chemenu/commands/docs_verify.py
- tools/chemenu/commands/doctor.py
- tools/chemenu/commands/git_publish.py
- tools/chemenu/commands/raw/fetch.py
- tools/chemenu/ownership.py
- tools/chemenu/sites/__init__.py
- tools/chemenu/sites/data.py
- tools/chemenu/sites/handlers/learn-microsoft-powershell-module.json
- tools/chemenu/sites/handlers/learn-microsoft.json
- tools/chemenu/sites/learn_microsoft.py
- tools/chemenu/sites/site.schema.json
- tools/chemenu/tests/test_dist_cmd.py
- tools/chemenu/tests/test_doctor.py
- tools/chemenu/tests/test_site_files.py
- tools/chemenu/toc.py

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-11 15:17:17 +02:00
torbenandClaude Code 2213d68900 sites: raw fetch gets site handlers - standard URL form, per-website cleanup and CHECK hints as a code registry, learn.microsoft.com first, plus a sites settings section (#200); 10.0.0-beta.3
CI / verify (push) Successful in 7m52s
CI / pwsh (push) Successful in 2m26s
Release / release (push) Successful in 33s
Release / wiki-mirror (push) Skipped
Files changed:
- tools/chemenu/sites/ (registry, learn-microsoft handlers), web_capture.py, commands/raw/fetch.py, config_shapes.py
- tests, fixture, raw/CONTRACT.md, tools/README.md, docs, CHANGES.md, VERSION

Files changed:
- CHANGES.md
- VERSION
- docs/how-to/ingest-a-source.md
- docs/reference/commands/README.md
- docs/reference/commands/raw-material-and-uploads.md
- docs/reference/configuration.md
- raw/CONTRACT.md
- tools/CONTRACT.md
- tools/README.md
- tools/chemenu/commands/raw/fetch.py
- tools/chemenu/config_shapes.py
- tools/chemenu/reference_doc.py
- tools/chemenu/sites/__init__.py
- tools/chemenu/sites/learn_microsoft.py
- tools/chemenu/tests/fixtures/learn_microsoft/oslicense-module.html
- tools/chemenu/tests/test_config_shapes.py
- tools/chemenu/tests/test_sites.py
- tools/chemenu/web_capture.py

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-11 11:32:58 +02:00
torbenandClaude Opus 5.5 298b514119 docs: the update how-to says the 10.0.0 settings migration is owed per checkout, so a second clone runs config migrate after its pull (#208 close)
CI / verify (push) Successful in 8m47s
CI / pwsh (push) Successful in 2m40s
Files changed:
- docs/how-to/update-an-instance.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-11 10:23:05 +02:00
torbenandClaude Code 7c8e9cea55 docs: the configuration reference no longer links the dev-only tracker-testing procedure, which the distribution does not ship (red CI run 653 on 6a89a92)
CI / verify (push) Successful in 8m5s
CI / pwsh (push) Successful in 2m31s
Files changed:
- docs/reference/configuration.md

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-11 07:27:52 +02:00
torbenandClaude Code 6a89a9285d version: 10.0.0-beta.2 - the test fix to the live tracker suite is a change under tools/, so the CI version gate wants a bump (#208)
CI / verify (push) Failing after 7m57s
CI / pwsh (push) Successful in 2m31s
Release / release (push) Successful in 36s
Release / wiki-mirror (push) Skipped
Files changed:
- CHANGES.md

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-11 07:14:39 +02:00
torbenandClaude Code d09247d9aa tests: the live tracker suite's CalDAV provisioner imports config_shapes and settings (red CI run 649 on db8f90c)
CI / verify (push) Failing after 7m51s
CI / pwsh (push) Successful in 2m34s
Files changed:
- tools/chemenu/tests/test_tracker_live.py

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-11 07:04:06 +02:00
torbenandClaude Code db8f90c229 settings: the four per-feature files .wikitool-remotes/-telemetry/-upload/-tasks.json move into the three tiers and disappear; new command config migrate; 10.0.0-beta.1 (#208)
CI / verify (push) Failing after 7m41s
CI / pwsh (push) Successful in 2m32s
Release / release (push) Successful in 37s
Release / wiki-mirror (push) Skipped
Files changed:
- .gitignore
- AGENTS.md
- CHANGES.md
- INSTALL.md
- VERSION
- docs/explanation/knowledge-and-commitment.md
- docs/explanation/telemetry-and-evaluation.md
- docs/explanation/why-gates-are-code.md
- docs/how-to/run-the-weekly-review.md
- docs/how-to/set-up-the-mcp-server.md
- docs/how-to/trace-and-score-sessions.md
- docs/how-to/troubleshoot.md
- docs/reference/commands/README.md
- docs/reference/commands/configuration.md
- docs/reference/commands/finding-and-checking.md
- docs/reference/commands/git.md
- docs/reference/commands/instance-health.md
- docs/reference/commands/pages.md
- docs/reference/commands/raw-material-and-uploads.md
- docs/reference/configuration.md
- docs/reference/exit-codes.md
- instructions/dev/doc-pull-through.md
- instructions/dev/tracker-testing.md
- instructions/gates.md
- instructions/ingest-queue.md
- instructions/mcp-read-server.md
- instructions/migrate-corpus.md
- instructions/migrations/10.0.0-settings-tiers.md
- instructions/setup-instance.md
- raw/CONTRACT.md
- reports/CONTRACT.md
- tools/CONTRACT.md
- tools/README.md
- tools/bugreport.py
- tools/chemenu/cli_contract.py
- tools/chemenu/commands/_util.py
- tools/chemenu/commands/config_cmd.py
- tools/chemenu/commands/docs_verify.py
- tools/chemenu/commands/doctor.py
- tools/chemenu/commands/export_cmd.py
- tools/chemenu/commands/git_publish.py
- tools/chemenu/commands/new_page.py
- tools/chemenu/commands/review_cmd.py
- tools/chemenu/commands/task_cmd.py
- tools/chemenu/commands/upload_cmd.py
- tools/chemenu/config.py
- tools/chemenu/config_shapes.py
- tools/chemenu/legacy_settings.py
- tools/chemenu/mcp/__main__.py
- tools/chemenu/mcp/server.py
- tools/chemenu/reference_doc.py
- tools/chemenu/review.py
- tools/chemenu/settings.py
- tools/chemenu/tasks/__init__.py
- tools/chemenu/tasks/caldav.py
- tools/chemenu/tasks/config.py
- tools/chemenu/tasks/superproductivity.py
- tools/chemenu/telemetry/policy.py
- tools/chemenu/tests/conftest.py
- tools/chemenu/tests/record_sp_fixtures.py
- tools/chemenu/tests/test_bugreport.py
- tools/chemenu/tests/test_caldav.py
- tools/chemenu/tests/test_config_shapes.py
- tools/chemenu/tests/test_doctor.py
- tools/chemenu/tests/test_git_publish.py
- tools/chemenu/tests/test_legacy_settings.py
- tools/chemenu/tests/test_mcp_server.py
- tools/chemenu/tests/test_new_page.py
- tools/chemenu/tests/test_review.py
- tools/chemenu/tests/test_settings.py
- tools/chemenu/tests/test_sp_recorded.py
- tools/chemenu/tests/test_superproductivity.py
- tools/chemenu/tests/test_task_cmd.py
- tools/chemenu/tests/test_tasks_config.py
- tools/chemenu/tests/test_telemetry_policy.py
- tools/chemenu/tests/test_tracker_live.py
- tools/chemenu/tests/test_upload.py
- tools/chemenu/tests/tracker_live.py
- tools/chemenu/upload.py

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-11 06:54:35 +02:00
torbenandClaude Opus 5.5 e085a8b6c1 docs: settings pull-through after #207 - secrets file path on Windows and with XDG in the 1Password how-to; 1Password approval is per terminal session, not per value
CI / verify (push) Successful in 8m4s
CI / pwsh (push) Successful in 2m31s
Files changed:
- docs/explanation/configuration-tiers.md
- docs/how-to/use-1password-for-settings.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-10 18:10:07 +02:00
torbenandClaude Opus 5.5 f6aaadc413 settings: three tiers - wikitool.json (instance), .wikitool-local.json (checkout), secrets by reference incl. 1Password CLI; new command config set (#207)
CI / verify (push) Successful in 8m5s
CI / pwsh (push) Successful in 2m34s
Release / release (push) Successful in 36s
Release / wiki-mirror (push) Skipped
Every settings field declares its tier; a value in the wrong file is an error naming
file, key and tier. A field naming a program or affecting a gate cannot be declared
instance. Secrets are references only: {"ref": "<name>"} via WIKITOOL_SECRET_<NAME> or
a user-only secrets file, {"ref": "op://..."} via op read (locked 1Password: exit 42).
The preflight records op as an optional tool. doctor gains one line per tier, docs
verify checks a committed wikitool.json for plaintext secrets, CI resolves a real
op:// value through 1password/load-secrets-action. No feature reads its settings
this way yet; without the two files every other command is unchanged.

Files changed:
- .gitea/workflows/ci.yml
- .gitignore
- AGENTS.md
- CHANGES.md
- INSTALL.md
- VERSION
- docs/explanation/README.md
- docs/explanation/configuration-tiers.md
- docs/how-to/README.md
- docs/how-to/use-1password-for-settings.md
- docs/reference/commands/README.md
- docs/reference/commands/configuration.md
- docs/reference/commands/instance-health.md
- docs/reference/commands/types-instructions-and-docs.md
- docs/reference/configuration.md
- docs/reference/exit-codes.md
- instructions/dev/doc-pull-through.md
- instructions/dev/testing-conventions.md
- instructions/preflight.md
- tools/CONTRACT.md
- tools/README.md
- tools/chemenu/cli.py
- tools/chemenu/cli_contract.py
- tools/chemenu/commands/_util.py
- tools/chemenu/commands/config_cmd.py
- tools/chemenu/commands/docs_verify.py
- tools/chemenu/commands/doctor.py
- tools/chemenu/config.py
- tools/chemenu/config_shapes.py
- tools/chemenu/prerequisites.py
- tools/chemenu/settings.py
- tools/chemenu/tests/conftest.py
- tools/chemenu/tests/test_dist_cmd.py
- tools/chemenu/tests/test_preflight.py
- tools/chemenu/tests/test_preflight_pwsh.py
- tools/chemenu/tests/test_settings.py
- tools/chemenu/toolpaths.py
- tools/preflight.ps1
- tools/preflight.sh
- tools/prerequisites.txt

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-10 15:34:28 +02:00
torbenandClaude Code 059a0a1840 tools: raw_cmd.py split into the package commands/raw/, one module per subcommand (#206)
CI / verify (push) Successful in 7m45s
CI / pwsh (push) Successful in 2m30s
Release / release (push) Successful in 36s
Release / wiki-mirror (push) Skipped
Pure restructuring: every raw subcommand's output, help text and exit code is unchanged; the shared helpers sit in raw/_common.py.

Files changed:
- CHANGES.md
- VERSION
- tools/README.md
- tools/chemenu/cli.py
- tools/chemenu/commands/raw/__init__.py
- tools/chemenu/commands/raw/_common.py
- tools/chemenu/commands/raw/accept.py
- tools/chemenu/commands/raw/capture.py
- tools/chemenu/commands/raw/derive.py
- tools/chemenu/commands/raw/fetch.py
- tools/chemenu/commands/raw/pending.py
- tools/chemenu/commands/raw_cmd.py
- tools/chemenu/tests/test_docs_verify.py
- tools/chemenu/tests/test_export_guidelines.py
- tools/chemenu/tests/test_raw_capture.py
- tools/chemenu/tests/test_raw_cmd.py
- tools/chemenu/tests/test_raw_derive.py
- tools/chemenu/tests/test_raw_derive_testfiles.py
- tools/chemenu/tests/test_raw_fetch.py
- tools/chemenu/upload.py

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-10 11:44:49 +02:00
torbenandClaude Opus 5.5 88788d6663 docs(dev): stack-close names the next link of a chain (#205)
CI / verify (push) Successful in 7m45s
CI / pwsh (push) Successful in 2m28s
Files changed:
- docs/dev/development.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-10 09:09:03 +02:00
torbenandClaude Code 3c80262a05 instructions: chains of packages - stack-dev writes ## Kette, stack-close names the next link (#205)
CI / verify (push) Successful in 7m41s
CI / pwsh (push) Successful in 2m23s
Release / release (push) Successful in 36s
Release / wiki-mirror (push) Skipped
Files changed:
- CHANGES.md
- VERSION
- instructions/dev/issue-tracking.md
- instructions/dev/stack-close/SKILL.md
- instructions/dev/stack-dev/SKILL.md
- instructions/dev/stack-mode.md

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-10 08:49:33 +02:00
torbenandClaude Code 7cfafd75b2 release: 9.0.0 - docs sorted into four areas, generated references, raw derive for real documents
CI / verify (push) Successful in 7m45s
CI / pwsh (push) Successful in 2m21s
Release / release (push) Successful in 38s
Release / wiki-mirror (push) Successful in 27s
Files changed:
- CHANGES.md
- VERSION

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-09 17:28:49 +02:00
torbenandClaude Code 918157cb41 raw derive: a placeholder text/plain no longer displaces the HTML text of a mail (#204)
CI / verify (push) Successful in 7m40s
CI / pwsh (push) Successful in 2m24s
Release / release (push) Successful in 35s
Release / wiki-mirror (push) Skipped
A mail's text is its plain text unless that is under 10% of the HTML text, then the HTML text
with a warning; one rule for .eml and .msg. The other version of the text in a
multipart/alternative is no longer an attachment.

Files changed:
- CHANGES.md
- VERSION
- docs/reference/commands/raw-material-and-uploads.md
- testfiles/mail/gog-roundcube.eml.expect
- tools/CONTRACT.md
- tools/chemenu/commands/raw_cmd.py
- tools/chemenu/filters/mail.py
- tools/chemenu/filters/msg.py
- tools/chemenu/tests/test_raw_derive.py
- tools/chemenu/tests/test_raw_derive_binary.py

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-09 16:55:04 +02:00
torbenandClaude Code be049217a9 testfiles: real documents get short names and a source table, personal data is replaced by same-length filler (#203)
CI / verify (push) Successful in 7m43s
CI / pwsh (push) Successful in 2m27s
Release / release (push) Successful in 35s
Release / wiki-mirror (push) Skipped
Adds the nineteen real documents under testfiles/ (mail, Office, PDF, ZIP) with short ASCII names. Recipient addresses, names, host names, mailbox identifiers and recipient-bound tokens are replaced by filler of the same length, and the archive is rebuilt from the sanitized members. test_raw_derive_testfiles.py now compares the sheet TSVs too (with a direct test on _texts()), and a real workbook carries a formula needle that only a .formulas.tsv holds. testfiles/README.md gains the provenance table and the two new rules.

Files changed:
- CHANGES.md
- VERSION
- testfiles/README.md
- testfiles/mail/github-outlook.msg
- testfiles/mail/github-roundcube.eml
- testfiles/mail/gog-outlook.msg
- testfiles/mail/gog-roundcube.eml
- testfiles/mail/tldr-outlook.msg
- testfiles/mail/tldr-roundcube.eml
- testfiles/office/excel-artificial.xlsx
- testfiles/office/excel-business.xlsx
- testfiles/office/excel-business.xlsx.expect
- testfiles/office/excel-science.xlsx
- testfiles/office/pptx-baseline.pptx
- testfiles/office/pptx-master.pptx
- testfiles/office/pptx-objects.pptx
- testfiles/office/word-complex.docx
- testfiles/office/word-simple.docx
- testfiles/pdf/einstein-dissertation.pdf
- testfiles/pdf/ifg.pdf
- testfiles/pdf/nist-ai-rmf.pdf
- testfiles/pdf/nist-ssdf-genai.pdf
- testfiles/zip/archive.zip
- tools/chemenu/tests/test_raw_derive_testfiles.py

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-09 16:07:38 +02:00
torbenandClaude Code 9868fce3d5 feat(raw): raw derive writes an Excel file's sheets as TSV files with a formula list (#202)
CI / verify (push) Successful in 6m47s
CI / pwsh (push) Successful in 2m25s
Release / release (push) Successful in 34s
Release / wiki-mirror (push) Skipped
Each sheet becomes NN-<sheet>.tsv (RFC 4180, tab-delimited, A1-aligned) in a
<stem>.sheets/ folder beside the .md; sheets with formulas also get a
.formulas.tsv. derived.md is the overview. Adds testfiles/ with a CI test.

Files changed:
- .gitattributes
- CHANGES.md
- VERSION
- docs/dev/development.md
- docs/how-to/ingest-a-source.md
- docs/reference/commands/raw-material-and-uploads.md
- raw/CONTRACT.md
- testfiles/README.md
- tools/CONTRACT.md
- tools/chemenu/commands/raw_cmd.py
- tools/chemenu/filters/__init__.py
- tools/chemenu/filters/archive.py
- tools/chemenu/filters/ooxml.py
- tools/chemenu/tests/test_raw_derive.py
- tools/chemenu/tests/test_raw_derive_testfiles.py

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-09 13:35:03 +02:00
torbenandClaude Code 8ea2795d88 docs(raw): raw pending no longer offers a PDF and its converted text as a bundle example (#199)
CI / verify (push) Successful in 6m42s
CI / pwsh (push) Successful in 2m22s
Release / release (push) Successful in 35s
Release / wiki-mirror (push) Skipped
A derived PDF is a folder since raw derive; the raw/CONTRACT.md example was
adapted when the command shipped, the raw pending record and its generated
copies were not.

Files changed:
- CHANGES.md
- VERSION
- docs/reference/commands/raw-material-and-uploads.md
- tools/CONTRACT.md
- tools/chemenu/commands/raw_cmd.py

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-08 14:24:27 +02:00
torbenandClaude Code 0e6a50aa98 feat(raw): raw derive reads PDF and Outlook MSG; doctor shows each import filter
CI / verify (push) Successful in 6m41s
CI / pwsh (push) Successful in 2m24s
Release / release (push) Successful in 34s
Release / wiki-mirror (push) Skipped
PDF is read with pypdf (page markers, scan warning, encrypted files refused), Outlook .msg with olefile as a container like an .eml, and a .msg attached to a mail is quoted. Both packages are in tools/requirements.txt and imported only when such a file is derived, so a missing one stops that format alone. doctor reports one import-filter line per package-backed format.

Files changed:
- CHANGES.md
- VERSION
- docs/how-to/ingest-a-source.md
- docs/reference/commands/instance-health.md
- docs/reference/commands/raw-material-and-uploads.md
- tools/CONTRACT.md
- tools/README.md
- tools/chemenu/commands/doctor.py
- tools/chemenu/commands/raw_cmd.py
- tools/chemenu/filters/__init__.py
- tools/chemenu/filters/mail.py
- tools/chemenu/filters/msg.py
- tools/chemenu/filters/pdf.py
- tools/chemenu/tests/binary_formats.py
- tools/chemenu/tests/test_raw_derive_binary.py
- tools/requirements.txt

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-08 14:02:16 +02:00
torbenandClaude Code 6659ca5409 feat(raw): raw derive unpacks ZIP archives and mails with attachments into a folder
CI / verify (push) Successful in 6m36s
CI / pwsh (push) Successful in 2m20s
Release / release (push) Successful in 35s
Release / wiki-mirror (push) Skipped
A ZIP becomes incoming/<stem>/ with its files and a derived text beside each
document, the ZIP is removed and its sha256 named in the output. A mail with
attachments becomes a folder with original.eml, derived.md and the attachments;
a ZIP attached to a mail is unpacked once, an attached mail is quoted. Unsafe
entries, nested ZIPs and size limits are refused before anything is written.

Files changed:
- CHANGES.md
- VERSION
- docs/how-to/ingest-a-source.md
- docs/reference/commands/README.md
- docs/reference/commands/raw-material-and-uploads.md
- raw/CONTRACT.md
- tools/CONTRACT.md
- tools/README.md
- tools/chemenu/commands/raw_cmd.py
- tools/chemenu/filters/__init__.py
- tools/chemenu/filters/archive.py
- tools/chemenu/filters/mail.py
- tools/chemenu/tests/test_portability.py
- tools/chemenu/tests/test_raw_derive.py

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-08 13:04:01 +02:00
torbenandClaude Code 9c0bb6bfbf feat(raw): raw derive turns Office files and mail into a folder with the original and a derived text
CI / verify (push) Successful in 6m44s
CI / pwsh (push) Successful in 2m23s
Release / release (push) Successful in 34s
Release / wiki-mirror (push) Skipped
Adds the import-filter registry (tools/chemenu/filters), the raw derive command with folder form,
path-budget and name checks, DOCX/PPTX/XLSX and EML filters, the pending and accept hints, the
wiki-ingest skill step and the raw/CONTRACT.md section. First of three cuts; containers and
PDF/MSG follow.

Files changed:
- CHANGES.md
- VERSION
- docs/how-to/ingest-a-source.md
- docs/reference/commands/README.md
- docs/reference/commands/raw-material-and-uploads.md
- instructions/wiki-ingest/SKILL.md
- raw/CONTRACT.md
- tools/CONTRACT.md
- tools/README.md
- tools/chemenu/cli_contract.py
- tools/chemenu/commands/raw_cmd.py
- tools/chemenu/filters/__init__.py
- tools/chemenu/filters/html_page.py
- tools/chemenu/filters/mail.py
- tools/chemenu/filters/ooxml.py
- tools/chemenu/tests/test_raw_derive.py
- tools/chemenu/web_capture.py

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-08 12:12:31 +02:00
torbenandClaude Opus 5.5 765ebe97d7 docs(dev): development.md names the wiki: write token scope the mirror needs (#192)
CI / verify (push) Successful in 6m21s
CI / pwsh (push) Successful in 2m21s
Files changed:
- docs/dev/development.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-08 07:08:08 +02:00
torbenandClaude Code 1a954be65d fix(workflow): wiki-mirror jobs request the wiki: write token scope (#192)
CI / verify (push) Successful in 6m26s
CI / pwsh (push) Successful in 2m23s
The job token got HTTP 403 creating the first wiki page: Gitea gives the wiki its own
permission scope, which contents: write does not cover.

Files changed:
- .gitea/scripts/wiki-push.sh
- .gitea/workflows/release.yml
- .gitea/workflows/wiki-mirror.yml

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-08 06:52:35 +02:00
torbenandClaude Code 90ea0eea1b feat(workflow): Gitea-Wiki als generierter Spiegel von docs/ (#192)
CI / verify (push) Successful in 6m22s
CI / pwsh (push) Successful in 2m24s
Release / release (push) Successful in 34s
Release / wiki-mirror (push) Skipped
Konverter .gitea/scripts/wiki_mirror.py, Push-Skript wiki-push.sh, Job wiki-mirror in release.yml, Dispatch-Workflow wiki-mirror.yml und --check-Schritt in ci.yml. Version 9.0.0-beta.13.

Files changed:
- .gitea/scripts/wiki-push.sh
- .gitea/scripts/wiki_mirror.py
- .gitea/workflows/ci.yml
- .gitea/workflows/release.yml
- .gitea/workflows/wiki-mirror.yml
- CHANGES.md
- README.md
- VERSION
- docs/dev/development.md
- tools/chemenu/tests/test_wiki_mirror.py

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-07 23:10:19 +02:00
torbenandClaude Code 45ae04cfee docs(how-to): update-an-instance names the interrupted required migration (#195)
CI / verify (push) Successful in 6m22s
CI / pwsh (push) Successful in 2m24s
The guide said a required migration is simply carried out, which
contradicts upgrade-instance.md: the agent can stop after the first
publish, leaving a valid intermediate state that migrate status resumes
and doctor warns about. The guide now says so without retelling the
instruction's steps.

Files changed:
- docs/how-to/update-an-instance.md

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-07 16:34:46 +02:00
torbenandClaude Opus 5.5 49f8939bfd docs(tools): README describes the asset mode as it is - own folder, retry, rollback (#197)
CI / verify (push) Successful in 6m31s
CI / pwsh (push) Successful in 2m24s
Release / release (push) Successful in 34s
tools/README.md still said the asset unpacks into <script folder>/chemenu and
refuses an existing target, which stopped being true before #197; it now also
describes the retry and the rollback #197 added.

Files changed:
- CHANGES.md
- VERSION
- tools/README.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-07 16:19:56 +02:00
torbenandClaude Opus 5.5 5c9be38aa8 fix(preflight): asset mode retries a move that fails, names the cause and rolls back (#197)
CI / verify (push) Successful in 6m14s
CI / pwsh (push) Successful in 2m23s
Release / release (push) Successful in 35s
A part of the stack that will not move from the unpack folder into place is
retried for about 30 seconds; each retry removes what reached the target and
unpacks the entry afresh from the archive, so the entry ends up there once and
whole. If it still fails, both scripts take back everything they moved and exit 1
with the system's message and "nothing was installed". New test hook
CHEMENU_PREFLIGHT_MOVE_FAIL=<entry>:<n>[:partial].

Files changed:
- CHANGES.md
- INSTALL.md
- VERSION
- instructions/preflight.md
- tools/CONTRACT.md
- tools/chemenu/tests/conftest.py
- tools/chemenu/tests/test_preflight.py
- tools/chemenu/tests/test_preflight_pwsh.py
- tools/preflight.ps1
- tools/preflight.sh

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-07 12:23:13 +02:00
torbenandClaude Code 5915b07383 sync and publish name the Rebase-Review Gate by its display name
CI / verify (push) Successful in 6m20s
CI / pwsh (push) Successful in 2m0s
Release / release (push) Successful in 35s
The help and exit-42 cause texts still said "rebase-review gate" after the display
name was settled; the generated reference and CONTRACT row follow.

Files changed:
- CHANGES.md
- VERSION
- docs/reference/commands/git.md
- docs/reference/exit-codes.md
- tools/CONTRACT.md
- tools/chemenu/commands/git_publish.py

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-07 10:30:49 +02:00
torbenandClaude Code e9f4759727 AGENTS.md § Gates is the one gate list; cli_contract.GATES and docs verify hold it
CI / verify (push) Successful in 6m17s
CI / pwsh (push) Successful in 1m59s
Release / release (push) Successful in 34s
The gate list contradicted itself across AGENTS.md, instructions/gates.md and the
command records' gate names. The Rebase-Review Gate is now listed, `new project`'s
exit 42 is no longer a pseudo-gate, gates.md and the explanation page link to the one
list instead of counting, and a register plus a docs verify check keep the three in step.

Files changed:
- AGENTS.md
- CHANGES.md
- VERSION
- docs/explanation/why-gates-are-code.md
- docs/reference/commands/pages.md
- docs/reference/commands/types-instructions-and-docs.md
- docs/reference/exit-codes.md
- instructions/gates.md
- tools/CONTRACT.md
- tools/chemenu/cli_contract.py
- tools/chemenu/commands/docs_verify.py
- tools/chemenu/commands/doctor.py
- tools/chemenu/commands/git_publish.py
- tools/chemenu/commands/new_page.py
- tools/chemenu/errors.py
- tools/chemenu/mcp/server.py
- tools/chemenu/tests/test_cli_contract.py
- tools/chemenu/tests/test_docs_verify.py
- tools/chemenu/tests/test_git_publish.py
- tools/chemenu/tests/test_reference_doc.py

Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-07 10:10:48 +02:00
torbenandClaude Opus 5.5 1559f4b405 docs: troubleshoot names doctor's telemetry WARN; ownership-and-templates says the configuration shapes are rendered from tools/ too (#193)
CI / verify (push) Successful in 6m12s
CI / pwsh (push) Successful in 1m59s
Files changed:
- docs/explanation/ownership-and-templates.md
- docs/how-to/troubleshoot.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-07 09:05:32 +02:00
torbenandClaude Opus 5.5 893db6e640 feat: the shapes of the four hand-written .wikitool-*.json files live in one record each (config_shapes.py); loaders, doctor and docs/reference/configuration.md read them (#193)
CI / verify (push) Successful in 6m17s
CI / pwsh (push) Successful in 2m0s
Release / release (push) Successful in 34s
The telemetry, remotes, upload and tasks loaders take field names, defaults, coercions and their Expected: text from the record and accept exactly what they did before. doctor WARNs on a telemetry file the policy silently reads differently. configuration.md carries one generated region per file, also checked in an instance. docs reference --apply now refreshes several regions in one page in sequence instead of keeping only the last.

Files changed:
- CHANGES.md
- VERSION
- docs/how-to/set-up-the-mcp-server.md
- docs/reference/README.md
- docs/reference/commands/instance-health.md
- docs/reference/commands/types-instructions-and-docs.md
- docs/reference/configuration.md
- instructions/dev/doc-pull-through.md
- instructions/setup-instance.md
- tools/CONTRACT.md
- tools/README.md
- tools/chemenu/commands/docs_verify.py
- tools/chemenu/commands/doctor.py
- tools/chemenu/commands/git_publish.py
- tools/chemenu/config.py
- tools/chemenu/config_shapes.py
- tools/chemenu/reference_doc.py
- tools/chemenu/tasks/caldav.py
- tools/chemenu/tasks/config.py
- tools/chemenu/tasks/superproductivity.py
- tools/chemenu/telemetry/policy.py
- tools/chemenu/tests/test_config_shapes.py
- tools/chemenu/tests/test_doctor.py
- tools/chemenu/tests/test_reference_doc.py
- tools/chemenu/upload.py

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-07 08:44:50 +02:00
torbenandClaude Opus 5.5 61e18dc4aa docs: the ingest and maintenance how-tos say the generated indexes, log and provenance do not count toward the Mass-Update Gate (#191)
CI / verify (push) Successful in 6m14s
CI / pwsh (push) Successful in 2m1s
Files changed:
- docs/how-to/ingest-a-source.md
- docs/how-to/maintain-the-wiki.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-07 07:08:22 +02:00
torbenandClaude Opus 5.5 fe1de63e0f feat: INSTALL.md is the English installation tutorial; new tutorial docs/tutorials/first-source-to-first-answer.md with a shipped sample source; README.md links it as its first-ingestion step (#191)
CI / verify (push) Successful in 6m14s
CI / pwsh (push) Successful in 2m2s
Release / release (push) Successful in 34s
Files changed:
- CHANGES.md
- INSTALL.md
- README.md
- VERSION
- docs/reference/commands/types-instructions-and-docs.md
- docs/tutorials/README.md
- docs/tutorials/first-source-to-first-answer.md
- docs/tutorials/sample-source.md
- instructions/dev/doc-pull-through.md
- tools/CONTRACT.md
- tools/chemenu/commands/docs_verify.py
- tools/chemenu/install_doc.py
- tools/chemenu/tests/test_install_doc.py

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-07 06:38:40 +02:00
torbenandClaude Opus 5.5 f9056c04f7 feat: docs/ carries the operator's how-to guides, a configuration reference and the architecture and telemetry explanations carved out of README.md, INSTALL.md, INSTALL-MCP.md and EVALS.md; the last two retired (#190)
CI / verify (push) Successful in 6m17s
CI / pwsh (push) Successful in 1m59s
Release / release (push) Successful in 35s
Files changed:
- .gitea/workflows/ci.yml
- .gitignore
- .vibe/hooks.toml
- AGENTS.md
- CHANGES.md
- EVALS.md
- INSTALL-MCP.md
- INSTALL.md
- README.md
- VERSION
- docs/dev/development.md
- docs/explanation/README.md
- docs/explanation/architecture.md
- docs/explanation/language-boundaries.md
- docs/explanation/telemetry-and-evaluation.md
- docs/how-to/README.md
- docs/how-to/browse-with-obsidian.md
- docs/how-to/capture-repository-docs.md
- docs/how-to/export-guidelines.md
- docs/how-to/ingest-a-source.md
- docs/how-to/maintain-the-wiki.md
- docs/how-to/query-the-wiki.md
- docs/how-to/run-the-weekly-review.md
- docs/how-to/set-up-the-mcp-server.md
- docs/how-to/trace-and-score-sessions.md
- docs/how-to/troubleshoot.md
- docs/how-to/update-an-instance.md
- docs/reference/README.md
- docs/reference/commands/distribution-and-versioning.md
- docs/reference/commands/instance-health.md
- docs/reference/commands/raw-material-and-uploads.md
- docs/reference/commands/telemetry.md
- docs/reference/commands/types-instructions-and-docs.md
- docs/reference/configuration.md
- instructions/dev/dev-setup.md
- instructions/dev/doc-pull-through.md
- instructions/dev/stack-build/SKILL.md
- instructions/dev/testing-conventions.md
- instructions/dev/version-parts.md
- instructions/setup-instance.md
- instructions/upgrade-instance.md
- reports/CONTRACT.md
- tools/.coveragerc
- tools/CONTRACT.md
- tools/README.md
- tools/chemenu/commands/dist_cmd.py
- tools/chemenu/commands/docs_verify.py
- tools/chemenu/commands/doctor.py
- tools/chemenu/commands/eval_cmd.py
- tools/chemenu/commands/git_publish.py
- tools/chemenu/commands/upload_cmd.py
- tools/chemenu/commands/version_cmd.py
- tools/chemenu/evals/__init__.py
- tools/chemenu/evals/scorecard.py
- tools/chemenu/evals/trajectory.py
- tools/chemenu/telemetry/policy.py
- tools/chemenu/tests/test_dist_cmd.py
- tools/chemenu/tests/test_git_publish.py
- tools/chemenu/tests/test_instructions_shell.py
- tools/chemenu/tests/test_pipeline_l0.py
- tools/chemenu/toc.py

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-07 05:13:56 +02:00
torbenandClaude Opus 5.5 cff7df4ffa docs: ownership-and-templates explains why the skill catalogue and page types are generated in the origin repo only (#189)
CI / verify (push) Successful in 6m17s
CI / pwsh (push) Successful in 2m1s
Files changed:
- docs/explanation/ownership-and-templates.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-06 22:35:47 +02:00
torbenandClaude Opus 5.5 070cae6aad feat: docs reference generates a skill catalogue and a page-type reference under docs/reference/ from the shipped defaults, checked and written in the origin repo only (#189)
CI / verify (push) Successful in 6m10s
CI / pwsh (push) Successful in 1m59s
Release / release (push) Successful in 34s
Files changed:
- CHANGES.md
- README.md
- VERSION
- docs/reference/README.md
- docs/reference/commands/README.md
- docs/reference/commands/types-instructions-and-docs.md
- docs/reference/page-types.md
- docs/reference/skills.md
- instructions/dev/doc-pull-through.md
- tools/CONTRACT.md
- tools/README.md
- tools/chemenu/commands/docs_verify.py
- tools/chemenu/reference_doc.py
- tools/chemenu/tests/test_reference_doc.py

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-06 22:10:09 +02:00
torbenandClaude Opus 5.5 d644a1d4f7 docs: tools/README.md module tree names reference_doc.py and the fourth view cli_contract renders (#188)
CI / verify (push) Successful in 6m12s
CI / pwsh (push) Successful in 2m0s
Release / release (push) Successful in 34s
Files changed:
- CHANGES.md
- VERSION
- tools/README.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-06 21:40:45 +02:00
torbenandClaude Opus 5.5 53383e7e9b feat: docs reference generates a human command reference under docs/reference/ from the command records, one page per group plus exit codes and gates; toc never lands inside another generated region (#188)
CI / verify (push) Successful in 6m11s
CI / pwsh (push) Successful in 2m0s
Release / release (push) Successful in 35s
Files changed:
- CHANGES.md
- README.md
- VERSION
- docs/reference/README.md
- docs/reference/commands/README.md
- docs/reference/commands/catalog-and-log.md
- docs/reference/commands/content-migrations.md
- docs/reference/commands/distribution-and-versioning.md
- docs/reference/commands/finding-and-checking.md
- docs/reference/commands/git.md
- docs/reference/commands/guideline-export.md
- docs/reference/commands/instance-health.md
- docs/reference/commands/links-and-citations.md
- docs/reference/commands/pages.md
- docs/reference/commands/provenance.md
- docs/reference/commands/raw-material-and-uploads.md
- docs/reference/commands/telemetry.md
- docs/reference/commands/types-instructions-and-docs.md
- docs/reference/commands/workshop-runs-and-session-budget.md
- docs/reference/exit-codes.md
- instructions/dev/doc-pull-through.md
- tools/CONTRACT.md
- tools/README.md
- tools/chemenu/cli.py
- tools/chemenu/cli_contract.py
- tools/chemenu/commands/docs_verify.py
- tools/chemenu/reference_doc.py
- tools/chemenu/tests/test_reference_doc.py
- tools/chemenu/toc.py

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-06 21:29:01 +02:00
torbenandClaude Opus 5.5 01c888d3cd docs: AGENTS.md routing line and toc.py docstring describe docs/ as the whole human documentation (#187)
CI / verify (push) Successful in 6m7s
CI / pwsh (push) Successful in 2m1s
Release / release (push) Successful in 34s
Closing-phase pull-through: both still described docs/ by its pre-9.0.0 role.

Files changed:
- AGENTS.md
- CHANGES.md
- VERSION
- tools/chemenu/toc.py

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-06 20:58:30 +02:00
torbenandClaude Opus 5.5 d66a3f65f4 feat!: docs/ sorted into tutorials, how-to, reference, explanation plus unshipped docs/dev/; explanation pages and developer guide moved, human docs English (#187)
CI / verify (push) Successful in 6m1s
CI / pwsh (push) Successful in 2m0s
Release / release (push) Successful in 34s
The seven explanation pages move to docs/explanation/ without a stub, DEVELOPMENT.md becomes docs/dev/development.md (translated to English), dist export leaves docs/dev/ out, docs verify rejects a file outside the five areas, and AGENTS.md states that the stack's human documentation is English. Required migration 9.0.0-docs-diataxis rewrites the old path in an instance's own kb/CONVENTIONS.md.

Files changed:
- .wikitool-kb.json
- AGENTS.md
- CHANGES.md
- CLAUDE.md
- DEVELOPMENT.md
- INSTALL.md
- README.md
- VERSION
- docs/dev/development.md
- docs/explanation/README.md
- docs/explanation/knowledge-and-commitment.md
- docs/explanation/language-boundaries.md
- docs/explanation/model-and-effort-selection.md
- docs/explanation/ownership-and-templates.md
- docs/explanation/pipeline-rationale.md
- docs/explanation/version-model.md
- docs/explanation/why-gates-are-code.md
- docs/how-to/README.md
- docs/knowledge-and-commitment.md
- docs/language-boundaries.md
- docs/model-and-effort-selection.md
- docs/ownership-and-templates.md
- docs/pipeline-rationale.md
- docs/reference/README.md
- docs/tutorials/README.md
- docs/version-model.md
- docs/why-gates-are-code.md
- instructions/CONTRACT.md
- instructions/dev/dev-setup.md
- instructions/dev/doc-pull-through.md
- instructions/dev/stack-close/SKILL.md
- instructions/dev/stack-mode.md
- instructions/gtd-weekly-review/SKILL.md
- instructions/ingest-queue.md
- instructions/migrations/6.0.0-type-guidance-split.md
- instructions/migrations/9.0.0-docs-diataxis.md
- instructions/upgrade-instance.md
- kb/CONVENTIONS.md
- kb/CONVENTIONS.md.template
- tools/CONTRACT.md
- tools/chemenu/commands/dist_cmd.py
- tools/chemenu/commands/docs_verify.py
- tools/chemenu/commands/new_page.py
- tools/chemenu/commands/task_cmd.py
- tools/chemenu/tasks/protocol.py
- tools/chemenu/tests/test_dist_cmd.py
- tools/chemenu/tests/test_docs_verify.py
- tools/chemenu/tests/test_git_publish.py
- tools/chemenu/tests/test_toc.py
- types/type-guidance.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-06 20:45:09 +02:00
torbenandClaude Opus 5.5 0e15972ee7 fix: version bump success line names bullet or topic paragraph instead of asking for prose every time (#184)
CI / verify (push) Successful in 6m4s
CI / pwsh (push) Successful in 2m2s
Release / release (push) Successful in 34s
Files changed:
- CHANGES.md
- VERSION
- tools/chemenu/commands/version_cmd.py

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-06 17:27:47 +02:00
torbenandClaude Opus 5.5 044943ae51 feat: changelog entries stay compact - one paragraph per topic, a size budget in docs verify and version release, version bump names required migration documents (#184)
CI / verify (push) Successful in 6m0s
CI / pwsh (push) Successful in 2m0s
Release / release (push) Successful in 33s
Files changed:
- CHANGES.md
- DEVELOPMENT.md
- VERSION
- instructions/dev/stack-build/SKILL.md
- instructions/dev/version-parts.md
- instructions/migrate-corpus.md
- tools/CONTRACT.md
- tools/chemenu/commands/docs_verify.py
- tools/chemenu/commands/version_cmd.py
- tools/chemenu/tests/test_docs_verify.py
- tools/chemenu/tests/test_version_cmd.py
- tools/chemenu/version.py

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-06 16:48:02 +02:00
torbenandClaude Opus 5.5 2ddcd6be19 fix: release.yml sends its payload from a file and refuses notes over 60000 bytes; 8.0.0 entry condensed (#183)
CI / verify (push) Successful in 5m59s
CI / pwsh (push) Successful in 2m1s
The 8.0.0 release job failed with "curl: Argument list too long": the
payload was one argument over Linux's 128 KiB limit, and Gitea on MySQL
stores at most 65535 bytes of release note anyway. The payload now goes
through --data-binary @file, the notes step refuses over 60000 bytes
before anything is built or tagged, and workflow_dispatch lets a failed
release be retried on main. The CHANGES.md entry for 8.0.0 drops from
129 KB to 22 KB: one paragraph per larger change, the rest stays as a
bullet in the bump list. DEVELOPMENT.md step 6 names the limit and the
retry path.

Files changed:
- .gitea/workflows/release.yml
- CHANGES.md
- DEVELOPMENT.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-06 14:28:01 +02:00
torbenandClaude Opus 5.5 afd82550f2 release: 8.0.0 - Installation nur aus Releases, Preflight und native Windows-Unterstützung, incoming/ als Warteschlange
CI / verify (push) Successful in 5m58s
CI / pwsh (push) Successful in 2m0s
Release / release (push) Failing after 37s
Files changed:
- CHANGES.md
- VERSION

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-06 13:09:27 +02:00
torbenandClaude Opus 5.5 ac1adf62af docs: CHANGES.md 8.0.0 candidate carries its release summary
CI / verify (push) Successful in 5m57s
CI / pwsh (push) Successful in 2m7s
The candidate collected 81 bumps; version release requires a summary
above the changesets. Four paragraphs: install path, incoming/ and the
new intakes, command records and the rest, the compatibility breaks.

Files changed:
- CHANGES.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-06 13:05:25 +02:00
torben cb371545bf fix: raw accept --replaces-bundle names the untracked A list beside git diff, in its success line and its record (#181)
CI / verify (push) Successful in 5m56s
CI / pwsh (push) Successful in 2m1s
Release / release (push) Successful in 34s
Files changed:
- CHANGES.md
- VERSION
- tools/CONTRACT.md
- tools/chemenu/commands/raw_cmd.py
2026-10-06 11:50:28 +02:00
torbenandClaude Opus 5.5 a3fc8f6873 fix: publish --path commits the uncommitted generated files outside its path, so the pushed catalog and log match its pages (#182)
CI / verify (push) Successful in 6m0s
CI / pwsh (push) Successful in 1m59s
Release / release (push) Successful in 36s
Files changed:
- CHANGES.md
- VERSION
- tools/CONTRACT.md
- tools/chemenu/commands/git_publish.py
- tools/chemenu/tests/test_git_publish.py

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-06 11:19:46 +02:00
torbenandClaude Opus 5.5 fa106eeda3 docs: sync record states the autostash behaviour, not the change (#180)
CI / verify (push) Successful in 5m50s
CI / pwsh (push) Successful in 2m1s
Release / release (push) Successful in 34s
Files changed:
- CHANGES.md
- VERSION
- tools/CONTRACT.md
- tools/chemenu/commands/git_publish.py

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-06 09:20:08 +02:00
torbenandClaude Opus 5.5 d4638bacde fix: publish/sync merge generated files mechanically and carry non-overlapping uncommitted work through a rebase (#180)
CI / verify (push) Successful in 5m51s
CI / pwsh (push) Successful in 1m58s
Release / release (push) Successful in 35s
Overlap only in kb/index.md, kb/log.md, kb/provenance.md and kb/**/INDEX.md no longer
fails a reconcile or reaches the rebase-review gate: the log keeps both sides' entries,
the catalog and provenance are regenerated. Uncommitted work no incoming commit touches
rides through the rebase via --autostash; the working tree is backed up under
refs/wikitool/reconcile-backup first. is_generated is narrowed to kb/.

Files changed:
- CHANGES.md
- VERSION
- instructions/gates.md
- instructions/session-setup.md
- tools/CONTRACT.md
- tools/chemenu/commands/git_publish.py
- tools/chemenu/commands/index_build.py
- tools/chemenu/commands/provenance_cmd.py
- tools/chemenu/tests/test_git_publish.py

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-06 08:41:29 +02:00
torbenandClaude Opus 5.5 40839d956d content: four concept pages tagged guideline; the template's guideline filter is a default, not a setup question (#179)
CI / verify (push) Successful in 5m45s
CI / pwsh (push) Successful in 1m58s
Release / release (push) Successful in 33s
Files changed:
- CHANGES.md
- VERSION
- kb/CONVENTIONS.md
- kb/CONVENTIONS.md.template
- kb/concepts/decisions/Diff-Reviewable Agent Edits.md
- kb/concepts/decisions/Structural Enforcement over Documented Rule.md
- kb/concepts/problems/Ambient Environment Dependency.md
- kb/concepts/problems/Green Suite Blind Spot.md
- kb/log.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-06 07:03:49 +02:00
torbenandClaude Opus 5.5 283cdae8be feat: export guidelines - the guideline pages as a generated GUIDELINES.md, pushed into the captured repositories behind the Guideline Push Gate (#179)
CI / verify (push) Successful in 5m40s
CI / pwsh (push) Successful in 1m59s
Release / release (push) Successful in 35s
Files changed:
- AGENTS.md
- CHANGES.md
- README.md
- VERSION
- docs/why-gates-are-code.md
- instructions/gates.md
- instructions/kb-profiles.md
- kb/CONTRACT.md
- kb/CONVENTIONS.md
- kb/CONVENTIONS.md.template
- raw/CONTRACT.md
- tools/CONTRACT.md
- tools/README.md
- tools/chemenu/cli.py
- tools/chemenu/cli_contract.py
- tools/chemenu/commands/export_cmd.py
- tools/chemenu/commands/page_ops.py
- tools/chemenu/commands/raw_cmd.py
- tools/chemenu/commands/search.py
- tools/chemenu/guideline_export.py
- tools/chemenu/kb_scan.py
- tools/chemenu/repo_capture.py
- tools/chemenu/search/filters.py
- tools/chemenu/tests/test_cli.py
- tools/chemenu/tests/test_export_guidelines.py

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-06 06:48:07 +02:00
torbenandClaude Opus 5.5 ccede04b97 docs: CHANGES.md no longer reserves raw status --json for an intake run (#178)
CI / verify (push) Successful in 5m33s
CI / pwsh (push) Successful in 2m3s
Files changed:
- CHANGES.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-05 20:38:04 +02:00
torbenandClaude Opus 5.5 8fec406463 feat: wiki-ingest takes updating the captured repositories as a step-1 branch over raw status (#178)
CI / verify (push) Successful in 5m37s
CI / pwsh (push) Successful in 2m2s
Release / release (push) Successful in 35s
Files changed:
- CHANGES.md
- README.md
- VERSION
- instructions/wiki-ingest/SKILL.md
- raw/CONTRACT.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-05 19:21:12 +02:00
torbenandClaude Opus 5.5 8ce202a34e docs: raw accept points an occupied captured-bundle name at --replaces-bundle (#177)
CI / verify (push) Successful in 5m36s
CI / pwsh (push) Successful in 2m5s
Release / release (push) Successful in 36s
The ON FAILURE reaction for an occupied folder name still said there is no
--replaces for a folder; for a captured bundle that sent a new edition down
the rename route. raw/CONTRACT.md names the manifest as a captured folder's
source of the capture fields.

Files changed:
- CHANGES.md
- VERSION
- raw/CONTRACT.md
- tools/CONTRACT.md
- tools/chemenu/commands/raw_cmd.py

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-05 12:13:09 +02:00
torbenandClaude Opus 5.5 311c8ee059 feat: raw capture / raw status / --replaces-bundle - documentation from git repositories as a bundle, with drift reporting (#177)
CI / verify (push) Successful in 5m39s
CI / pwsh (push) Successful in 2m15s
Release / release (push) Successful in 36s
New repo_capture module: resolve a branch or tag-pattern ref rule, fetch it
shallowly by name into a bare cache, read the glob-selected files as blobs,
and record repo/ref/commit/globs/capture fields in _capture.json. raw status
reports changed captured bundles as A/M/D; raw accept --replaces-bundle swaps
a captured bundle for its new edition at the same address. iter_raw_files now
skips _capture.json and anchors the CONTRACT.md exclusion to raw/CONTRACT.md.

Files changed:
- .gitignore
- CHANGES.md
- README.md
- VERSION
- instructions/wiki-ingest/SKILL.md
- raw/CONTRACT.md
- tools/CONTRACT.md
- tools/README.md
- tools/chemenu/cli_contract.py
- tools/chemenu/commands/dist_cmd.py
- tools/chemenu/commands/docs_verify.py
- tools/chemenu/commands/raw_cmd.py
- tools/chemenu/config.py
- tools/chemenu/repo_capture.py
- tools/chemenu/tests/test_cli.py
- tools/chemenu/tests/test_raw_capture.py

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-05 11:59:59 +02:00
torbenandClaude Opus 5.5 8ff22ad6b0 docs: CHANGES.md names which #173 case needs the manual type steps
CI / verify (push) Successful in 5m18s
CI / pwsh (push) Successful in 2m2s
Files changed:
- CHANGES.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-04 21:50:41 +02:00
torbenandClaude Opus 5.5 862bc04d9c fix: comparison and source pages accept the sources: cite add writes; sources may cite sources (#173)
CI / verify (push) Successful in 5m20s
CI / pwsh (push) Successful in 2m2s
Release / release (push) Successful in 36s
Files changed:
- CHANGES.md
- VERSION
- instructions/wiki-ingest/SKILL.md
- kb/CONTRACT.md
- tools/CONTRACT.md
- tools/chemenu/commands/cite_cmd.py
- tools/chemenu/commands/xref.py
- tools/chemenu/tests/test_cite_cmd.py
- tools/chemenu/tests/test_page_ops.py
- tools/chemenu/tests/test_type_resolver.py
- tools/chemenu/tests/test_xref.py
- types/comparison.md
- types/comparison.schema.yaml
- types/source.md
- types/source.schema.yaml

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-04 21:35:24 +02:00
torben 662a844cf1 fix: wiki-ingest and wiki-manage call xref add with --rel, not --rel-a/--rel-b (#174)
CI / verify (push) Successful in 5m16s
CI / pwsh (push) Successful in 2m1s
Release / release (push) Successful in 36s
Files changed:
- CHANGES.md
- VERSION
- instructions/wiki-ingest/SKILL.md
- instructions/wiki-manage/SKILL.md
2026-10-04 19:11:35 +02:00
torbenandClaude Opus 5.5 20a7624134 docs: kb/CONTRACT.md names unwritten scaffold sections and the Unfilled Template Sections finding (#94)
CI / verify (push) Successful in 5m23s
CI / pwsh (push) Successful in 2m3s
Release / release (push) Successful in 35s
Files changed:
- CHANGES.md
- VERSION
- kb/CONTRACT.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-04 17:21:57 +02:00
torbenandClaude Opus 5.5 a2a6baa265 feat: lint reports sections that hold only template placeholders as Unfilled Template Sections (#94)
CI / verify (push) Successful in 5m16s
CI / pwsh (push) Successful in 2m3s
Release / release (push) Successful in 34s
Files changed:
- CHANGES.md
- EVALS.md
- VERSION
- instructions/wiki-lint/SKILL.md
- instructions/wiki-manage/SKILL.md
- tools/CONTRACT.md
- tools/chemenu/blocks.py
- tools/chemenu/commands/lint.py
- tools/chemenu/evals/scorecard.py
- tools/chemenu/lint_core.py
- tools/chemenu/tests/test_blocks.py
- tools/chemenu/tests/test_evals.py
- tools/chemenu/tests/test_lint.py
- tools/chemenu/tests/test_pipeline_l0.py
- types/type-spec.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-04 17:11:37 +02:00
torbenandClaude Opus 5.5 af8bcb5b57 docs: kb/CONTRACT.md names section anchors in wikilinks and the Broken Anchors finding (#172)
CI / verify (push) Successful in 5m22s
CI / pwsh (push) Successful in 2m4s
Release / release (push) Successful in 36s
Files changed:
- CHANGES.md
- VERSION
- kb/CONTRACT.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-04 11:03:47 +02:00
torbenandClaude Opus 5.5 4ec22d376d feat: people live on their organization's page until promoted; organization subtype, member-of, broken_anchors lint (#172)
CI / verify (push) Successful in 5m26s
CI / pwsh (push) Successful in 2m8s
Release / release (push) Successful in 34s
Files changed:
- CHANGES.md
- README.md
- VERSION
- instructions/kb-profiles.md
- instructions/link-taxonomy.md
- instructions/page-lifecycle.md
- instructions/wiki-ingest/SKILL.md
- instructions/wiki-lint/SKILL.md
- kb/entities/COLLECTION.md
- kb/entities/INDEX.md
- kb/entities/organizations/E3DC GmbH.md
- kb/entities/people/E3DC GmbH.md
- kb/index.md
- kb/log.md
- tools/CONTRACT.md
- tools/chemenu/commands/lint.py
- tools/chemenu/kb_scan.py
- tools/chemenu/lint_core.py
- tools/chemenu/tests/test_lint.py
- tools/chemenu/tests/test_new_page.py
- tools/chemenu/tests/test_type_resolver.py
- tools/chemenu/tests/test_types_cmd.py
- types/entity.md
- types/entity.organization.md
- types/entity.person.md
- types/entity.schema.yaml

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-04 10:51:46 +02:00
torbenandClaude Opus 5.5 f3ccbd86f9 feat: participation and RACI labels, written on the project page (#118)
CI / verify (push) Successful in 5m12s
CI / pwsh (push) Successful in 1m59s
Release / release (push) Successful in 34s
Files changed:
- CHANGES.md
- VERSION
- instructions/gtd-weekly-review/SKILL.md
- instructions/link-taxonomy.md
- kb/entities/COLLECTION.md
- kb/gtd/COLLECTION.md
- types/project.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
2026-10-03 23:03:10 +02:00