CLAUDE.md, docToolchain v4 und die vollständige Theory Recovery (Phase 1 + 2) - #1
Merged
Merged
Conversation
Document the shared vocabulary and procedures for specification, requirements discovery, architecture documentation, crosscutting concepts, backlog management, vertical slicing, refactoring, quality review, docs-as-code, code theory recovery, documentation verification, response style, teaching, TDD Hamburg Style, strategic architecture analysis and presentation planning. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014S4btgSH36ViayKLqGLd6G
Install docToolchain v4 per the Docs-as-Code contract: the dtcw4 wrapper script plus a minimal docToolchainConfig.groovy so the AsciiDoc sources under docs/ render to build/docs/html5. Verified with ./dtcw4 local generateHTML (AsciidoctorJ 2.5.13). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014S4btgSH36ViayKLqGLd6G
Socratic Code Theory Recovery, phase 1: build the question tree from the code, do not yet write documentation. - QUESTION_TREE-arc42-generator.adoc: Q1-Q5 with the fixed second level (Q1.1-Q1.6, Q2.1-Q2.6, Q3.1-Q3.12, Q4.1-Q4.9, Q5.1-Q5.5) and the fixed third level under Q3.2; every leaf either [ANSWERED] with file:line evidence or [OPEN] with category and ask role. - OPEN_QUESTIONS-arc42-generator.adoc: the nine open leaves, one section per role, each answerable in one to three sentences. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014S4btgSH36ViayKLqGLd6G
The team answered the handoff document; phase 1 is now complete. Notable: `example` is a never-used feature. A shallow clone of the Golden Master shows zero occurrences of `arc42example` against 995 of `arc42help` in 168 .adoc files, so the regex in lib/Templates.groovy:80 runs on every file and never matches. Further decisions recorded: Gradle was replaced because it generated its own build scripts in a first pass; release effort is the success metric; EN/DE are the reference languages; CLAUDE.md governs branching and commits from now on; security risk is accepted deliberately, so SafeMode.UNSAFE stays; reliability outranks performance; a full build may take up to 20 minutes. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014S4btgSH36ViayKLqGLd6G
Synthesize the twelve arc42 chapters from the answered question tree. Scaffold is the with-help template of the Golden Master; dtcw4 downloadTemplate is blocked by the session egress policy (HTTP 403 on github.com/.../raw/...), so the identical archive came from a git clone of the same repository. - Chapter 1.2 names four quality goals, chapter 10 carries one scenario per goal plus four derived ones, covering all eight ISO 25010 characteristics with literal response measures. - Chapter 8 follows the five-concept baseline: threat model (T-001 to T-005, accepted), security, test, observability, error handling, plus encoding as a sixth concept the system actually has. - Chapter 9 records seven ADRs in Nygard form, each with a three-point Pugh matrix. - Chapter 11 separates risks (R-1 to R-7) from technical debt (TD-1 to TD-11); ADRs reference the risk IDs they create or accept. - Eight C4 and sequence diagrams as inline PlantUML, rendered by AsciidoctorJ Diagram without Graphviz. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014S4btgSH36ViayKLqGLd6G
Phase 2 of the theory recovery, in the prescribed layout: - docs/specs/prd-arc42-generator.adoc: problem, goals, personas, success criteria, scope, constraints, open questions. - docs/specs/use-cases-arc42-generator.adoc: four persona use cases in Cockburn fully dressed form, six system use cases (CLI, container entry point, config file, input contract, output contract, Pandoc process), ten business rules, Gherkin criteria, twelve EARS requirements, entity model, state machine, interface contracts and eight validation rules. - docs/specs/adrs/: the seven ADRs as individual Nygard records with Pugh matrices; chapter 9 of the architecture includes them. - docs/arc42/arc42-arc42-generator.adoc: renamed from architecture.adoc. The synthesized documents are self-contained: no question IDs, code evidence as file:line, and facts only the team could supply marked (team answer). Nothing is deferred - all nine questions were answered. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014S4btgSH36ViayKLqGLd6G
Four EPICs with sixteen user stories, prioritized with MoSCoW, each in INVEST form with Gherkin acceptance criteria, code evidence and marked dependencies. The GitHub issue tracker of this repository is disabled (the API answers 410), so the backlog lives as a document. Each section is written to become one issue verbatim once Issues is enabled under Settings -> General -> Features. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014S4btgSH36ViayKLqGLd6G
Add .github/workflows/documentation.yml: it installs docToolchain (cached by the wrapper's hash, so the one-time Gradle build runs only when the pinned version changes), runs generateSite, checks that a landing page was produced, and deploys to Pages. Pull requests build the site and upload it as an artifact without publishing. Configure the microsite so the site is complete: landing page from the internal theme, project title, footer and edit links, and one menu entry per document. The jbake menu renders one entry per code, so each document carries its own :jbake-menu: code; include fragments (arc42 chapters, ADR records, help style) are excluded from the menu. Correct the two places that claimed no CI exists at all. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014S4btgSH36ViayKLqGLd6G
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Was drin ist
Sechs Commits, vier Themen. Am Groovy-Build-Code ändert dieser PR nichts — er dokumentiert ihn.
1.
CLAUDE.md: Arbeitsweise festgeschriebenNeue Abschnitte für Specification, Requirements Discovery, Architecture Documentation, Crosscutting Concepts, Layer Boundaries, Backlog Management, Vertical Slicing, Implement Next, Refactoring, Code Quality, Quality Review, Docs-as-Code, Socratic Code Theory Recovery, Documentation Verification, Antwortstil, Teaching, TDD Hamburg Style, Strategic Architecture Analysis und Presentation Planning.
2. docToolchain v4
dtcw4plusdocToolchainConfig.groovy; die Laufzeit liegt außerhalb des Repos unter~/.doctoolchain/. Alle AsciiDoc-Dokumente unterdocs/rendern nachbuild/docs/html5— inklusive acht PlantUML-Diagrammen (C4 via!include <C4/...>, Sequenz, Aktivität, Entity, State), ohne Graphviz.3. Theory Recovery Phase 1 — der Fragenbaum
docs/QUESTION_TREE-arc42-generator.adoc— feste zweite Ebene vollständig, feste dritte Ebene unter Architecture Constraints, darunter code-getrieben bis Tiefe 4. Jedes Blatt[ANSWERED]mitfile:lineoder[OPEN]mit Kategorie und Rolle.docs/OPEN_QUESTIONS-arc42-generator.adoc— neun offene Blätter, eine Sektion je Rolle, alle neun vom Team beantwortet.4. Theory Recovery Phase 2 — die Dokumentation
docs/specs/prd-arc42-generator.adoc— Problem, Ziele, Personas, Erfolgskriterien, Scope, Constraints, offene Fragen.docs/specs/use-cases-arc42-generator.adoc— vier Persona Use Cases (Cockburn Fully Dressed), sechs System Use Cases, zehn Business Rules, Gherkin-Kriterien, zwölf EARS-Anforderungen, Entity-Modell, State Machine, Interface Contracts, acht Validierungsregeln.docs/arc42/arc42-arc42-generator.adoc— alle zwölf arc42-Kapitel. Kapitel 8 mit den fünf Baseline-Konzepten (Threat Model mit T-001…T-005, Security, Test, Observability, Error Handling) plus Encoding. Kapitel 10 mit acht sechsteiligen Quality-Attribute-Szenarien, jedes mit literalem Response Measure.docs/specs/adrs/— sieben Nygard-ADRs mit 3-Punkte-Pugh-Matrix, eingebunden in Kapitel 9.docs/specs/backlog-arc42-generator.adoc— vier EPICs, sechzehn User Stories nach INVEST, MoSCoW-priorisiert, mit Abhängigkeiten.Die synthetisierten Dokumente sind selbsttragend: keine Q-IDs, Evidenz als
file:line, Team-Fakten als(team answer)markiert.Was die Recovery gefunden hat
build.groovy:211-215lib/Converter.groovy:345failedwird nie hochgezählt, Summary meldet immerFailed: 0lib/Packager.groovy:116,177build-arc42.sh:57-60exampleist ein nie genutztes Feature — null Treffer im Golden Master gegen 995 fürarc42helpbuildconfig.groovy:7,13-14lib/Converter.groovy:231-238vs.:60-61build.groovy:46switchToreq42.shschreibt Gradle-Dateien um, die es nicht mehr gibtswitchToreq42.sh:1-12Zwei Einschränkungen, ehrlich benannt
./dtcw4 local downloadTemplatescheitert hier mitHTTP 403aufgithub.com/arc42/arc42-template/raw/...— die Egress-Policy dieser Session blockiert den Host, nicht docToolchain. Das identische Archiv kam pergit clonederselben Quelle, und zwar in der with-help-Variante;downloadTemplatehätte im Headless-Modus nurEN, plaingezogen.GitHub-Issues sind in diesem Repository deaktiviert (
410 Issues has been disabled). Der Backlog liegt deshalb als Dokument vor. Jeder Abschnitt ist so geschrieben, dass er nach dem Aktivieren unter Settings → General → Features → Issues unverändert ein Issue wird.Test
./dtcw4 local generateHTMLrendert alle sechs Dokumente ohne Warnung, alle Querverweise lösen auf.🤖 Generated with Claude Code
https://claude.ai/code/session_014S4btgSH36ViayKLqGLd6G