Converge - Spezifikations-Rückschreibung nach QA

Faltet bestätigte Implementierungsabweichungen nach einem QA_PASSED-Status in die technische Spezifikation zurück, archiviert das Aufgabenpaket und schließt den Änderungsvorschlag.

Was ist Converge - Spezifikations-Rückschreibung nach QA?

Dieses Skill repräsentiert die **ConvergeTool**-Rolle innerhalb des Aufgabendurchlaufzyklus. Es schließt den Ausführungskreislauf, indem es bestätigte Verhaltensweisen aus einer erfolgreich getesteten Aufgabe zurück in die lebende Spezifikation (`.specs/02-tech-spec.md`) schreibt. Der Skill stellt sicher, dass Abweichungen, die während der Implementierung dokumentiert und durch QA verifiziert wurden, dauerhaft festgehalten werden, ohne die bestehende Spezifikationshistorie zu überschreiben. Er unterstützt sowohl eine automatisierte Ausführung über ein Python-Skript als auch eine manuelle Durchführung nach denselben strengen Regeln. Der Skill verweigert die Ausführung, wenn QA nicht bestanden ist, der Abweichungsprotokoll fehlt oder ein Archivkonflikt vorliegt. Strukturelle Änderungen müssen an `spec-generator` eskalieren. Er ist plattformunabhängig und kann als Teil eines agentenbasierten CI/CD für Aufgabenverwaltung und Spezifikationspflege eingesetzt werden.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/formal-you/agent-skills-suite/tree/HEAD/.agents/skills/converge

Installed? Explore more Produktivität & Zusammenarbeit skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Vorschau

Aus dem Skill-README

Converge - Spezifikations-Rückschreibung nach QA preview

Dokumentation

Was macht Converge - Spezifikations-Rückschreibung nach QA?

Schließe den Ausführungskreislauf: Eine Aufgabe, die QA bestanden hat, wird Teil der lebenden Spezifikation. Dieses Skill repräsentiert die ConvergeTool-Rolle im Lebenszyklus. Es definiert den Prozess; Repository-Agentenregeln besitzen weiterhin die Berechtigungen, und dieses Skill gewährt niemals zusätzlichen Zugriff.

Pipeline-Position: dev -> qa -> converge -> archiviertes Bundle + aktualisierte Spezifikation.

Verwenden, wenn

  • Das Aufgabenpaket 03-qa-verification.md enthält ein bestätigtes QA_PASSED-Urteil.
  • 02-dev-workspace.md die eingefrorene Tabelle der Implementierungsabweichungen enthält (Zeilen oder eine explizite Keine-Zeile).
  • Das bestätigte Verhalten der Aufgabe in .specs/02-tech-spec.md aufgenommen, das Paket archiviert und der ursprüngliche Änderungsvorschlag geschlossen werden muss.

Nicht verwenden, wenn

  • Implementierung oder QA noch läuft, das Übergabemerkmal nicht gesetzt ist oder REWORK_REQUIRED aktiv ist – warte auf ein stabiles QA_PASSED-Urteil.
  • Das Abweichungsprotokoll leer oder fehlend ist – sende die Aufgabe zurück an Dev, anstatt zu raten.
  • Sie Spezifikationsinhalte erfinden oder bestehende Spezifikationstexte umschreiben müssten; das ist eine Planungsänderung, keine Konvergenz.

Eingaben

  • tasks/<task-id>/01-contract.md - Titel, Nachverfolgbarkeitsanker, optional change_id.
  • tasks/<task-id>/02-dev-workspace.md - die Tabelle der Implementierungsabweichungen (eingefrorenes Format).
  • tasks/<task-id>/03-qa-verification.md - das bestätigte QA_PASSED-Urteil und Nachweise.
  • tasks/<task-id>/04-process.md - abgeleitete Statuskarte und Ereignisprotokoll.
  • .specs/02-tech-spec.md - die lebende technische Spezifikation.
  • .specs/changes/<change-id>/proposal.md - der ursprüngliche Änderungsvorschlag, falls vorhanden.

Ausgaben

  • Ein datierter, attributierter Eintrag pro Aufgabe im Converged changes-Abschnitt der Spezifikation.
  • Ein Konvergenzmarker pro Aufgabe: <!-- converged: <task-id> sha256:<hash> -->.
  • 04-process.md mit macro_status: "CONVERGED" und einer TASK_CONVERGED-Ereigniszeile (Akteur ConvergeTool).
  • Das Aufgabenpaket verschoben (niemals gelöscht) nach tasks/archive/<task-id>/.
  • .specs/changes/<change-id>/convergence.md plus Proposal-Status archived, falls ein Proposal existiert.

Prüfen -> anwenden -> verifizieren

  1. Prüfen. Klassifiziere Pakete, bevor du etwas schreibst: python .agents/skills/converge/scripts/converge.py check --tasks-dir ./tasks --json Ein Paket ist nur dann konvergenzbereit, wenn QA bestanden ist, keine Nacharbeit aktiv ist, die Abweichungstabelle mindestens eine Zeile oder eine explizite Keine-Zeile enthält und die Spezifikation bereits nicht dessen Marker trägt.
  2. Anwenden. Konvergiere ein Paket: python .agents/skills/converge/scripts/converge.py apply --task tasks/<task-id> Verwende zuerst --dry-run, um die geplanten Schreibvorgänge zu prüfen. Der Helfer verweigert mit Exit-Code 1, wenn das Paket nicht konvergenzbereit ist, und verweigert ein vorhandenes Archivziel, außer mit --force.
  3. Verifizieren. Führe check erneut aus, bestätige, dass der Marker vorhanden ist, 04-process.md CONVERGED sagt, das Paket archiviert ist und --spec-sha256 mit dem erwarteten CI-Wert übereinstimmt: python .agents/skills/converge/scripts/converge.py --spec .specs/02-tech-spec.md --spec-sha256

Manueller Fallback (kein Python)

Wenn der Helfer nicht verfügbar ist, führe dieselben Schritte manuell aus und halte die Marker exakt:

  1. Bestätige, dass QA_PASSED in 03 gesetzt ist und kein REWORK_REQUIRED aktiv ist.
  2. Lese die Abweichungszeilen aus 02; lehne ein leeres Protokoll ab.
  3. Hänge (nicht bearbeiten) einen Eintrag an den Converged changes-Abschnitt der Spezifikation an: eine ### <task-id>-Überschrift, die Abweichungstabelle und den <!-- converged: <task-id> sha256:<hash> -->-Marker. Berechne den Hash mit einem beliebigen SHA-256-Tool über die normalisierte Aufgaben-ID und die Zeilen.
  4. Setze macro_status auf CONVERGED in 04 und füge die TASK_CONVERGED / ConvergeTool-Zeile an.
  5. Verschiebe, niemals lösche, das Paket nach tasks/archive/<task-id>/; archiviere das Proposal und schreibe convergence.md, wenn ein Änderungsvorschlag existiert.
  6. Führe den Verifizierungsschritt erneut aus und protokolliere die Nachweise.

Verweigerungsbedingungen

Stoppe und melde, anstatt zu konvergieren, wenn eine dieser Bedingungen zutrifft:

  • QA nicht bestanden - 03 hat kein gesetztes QA_PASSED, oder REWORK_REQUIRED ist noch aktiv.
  • Ungeklärte Nacharbeit - erneute Testnachweise zeigen, dass die Aufgabe sich in der Nacharbeit befindet; warte auf ein neues Urteil.
  • Leeres Abweichungsprotokoll - die Tabelle der Implementierungsabweichungen fehlt oder hat keine DEV-Zeile und keine explizite Keine-Zeile.
  • Spezifikationsdrift - eine modify/remove-Abweichung verweist auf einen #sec-*-Anker, den die Spezifikation nicht enthält; die Spezifikation und das Abweichungsprotokoll widersprechen sich. Führe check/apply mit --strict in CI aus, um diese Warnung in eine Verweigerung umzuwandeln.
  • Archivkollision - tasks/archive/<task-id>/ existiert bereits und --force wurde nicht angegeben.

Strukturelle Abweichungen (neue Module, geänderte Grenzen, neue ADR-Entscheidungen) müssen an spec-generator eskalieren; sie werden niemals stillschweigend konvergiert.

Historie und Zuordnung

Konvergenz überschreibt niemals die Historie: Sie hängt einen datierten, attributierten Abschnitt an, anstatt bestehende Spezifikationstexte zu bearbeiten. Vorhandene Einträge bleiben byte-für-byte stabil, und jeder Eintrag nennt die Quellaufgabe, das QA-Urteil und den ConvergeTool-Akteur. Bearbeite niemals einen alten Konvergenzeintrag, um eine neue Aufgabe passend zu machen; füge einen neuen Eintrag hinzu und protokolliere den Konflikt.

Referenzen

  • references/convergence-protocol.md - Zustandsmaschine, wer was schreibt, Archivlayout, Idempotenzmarker, Konfliktregeln und strukturelle Eskalation.
  • Rollengrenzen: references/role-boundaries.md — Schreibumfang, Invarianten und das ehrliche Durchsetzungsmodell (gebündelt; keine externen Dateien erforderlich).
  • Aufgabenpaketformat und Rollenlebenszyklus: task-decomposition-Skill (wenn installiert).
  • Übergabe-Eingabe: dev-Skill; Urteilseingabe: qa-Skill.
  • Repository-Regeln: Lese AGENTS.md und ggf. Rollenregeldateien, wenn das übernehmende Projekt sie definiert; sie können zusätzliche Anforderungen hinzufügen, sind aber für dieses Skill nicht erforderlich.

Ehrliche Grenzen

Dieses Skill gewährt keinen Schreibzugriff und kann keine Rollenisolation erzwingen. Wo das Repository CI (z. B. eine git-basierte Rollenprüfung) oder Branch-Schutz hat, ist dies die maßgebliche Ebene. Der gebündelte Helfer ist ein optionaler deterministischer Assistent; die Marker und die schriftlichen Nachweise sind der Vertrag.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

formal-you/agent-skills-suite

Run a bounded brownfield change (bugfix, small feature, behavior tweak) against an existing spec or codebase: proposal -> one task bundle -> dev/QA -> converge -> archive. Use when an existing spec or codebase needs an incremental change (bugfix, small feature, behavior tweak) and a full PRD is overkill. Do not use for greenfield requirements (use prd-generator), architecture decisions (use spec-generator), or pure task slicing (use task-decomposition).

formal-you/agent-skills-suite

Implement one planned task bundle as the Dev role: read the contract, change only touch_files, run the machine-checkable DoD, fill 02-dev-workspace.md and hand off to QA. Use when a task contract exists and you are assigned implementation. Do not use for planning, task slicing, architecture, or QA verification.

formal-you/agent-skills-suite

Use on Windows for unexpected DSH sandbox access denials: workspace writes or listing fail, or an ordinarily readable path cannot be read. One bundled command inspects the path and every ancestor and repairs the ACL problems it proves in that same run. Expected confinement denials need no ACL repair.

formal-you/agent-skills-suite

Run the Gate 1 deterministic static check on task bundles before development starts and follow the Gate 2 review checklist. Use when task contracts exist under tasks/ and you need to verify blast radius, diff budget, declared-file topology, traceability anchors, spec anchor coverage, inherited ADRs, machine-checkable acceptance criteria, and DAG acyclicity. Do not use for code execution, CI pipeline construction, AST/complexity checks, or test audits (owned by quality-engineering).

Verwandte Skills