Zum Inhalt springen
Pathrule

doku

Wer wofür die Ansprechperson ist

Teammitglieder-Profile geben jeder Person ein belegbasiertes Bild der Bereiche, in denen sie arbeitet, einen selbst formulierten Entscheidungsbereich und einen kurzen Team-Block, der in das kompiliert wird, was jeder Agent zuerst liest. So verweist ein Assistent auf die richtige Person im Team, statt an ihrer Stelle zu entscheiden.

Auf dieser Seite

Ein Assistent, der deine Codebasis kennt, kann trotzdem eine Sache gründlich falsch machen: Er entscheidet etwas, das gar nicht seine Entscheidung war. Er benennt ein öffentliches Feld um, ändert eine Preisregel, baut ein Modul um, und das, ohne zu ahnen, dass jemand im Team die Ansprechperson für genau diesen Bereich ist und die Frage in einem Satz beantwortet hätte.

Teammitglieder-Profile schließen diese Lücke. Jede Person in deiner Organisation bekommt ein Profil, das eine einzige Frage beantwortet, nämlich wer für welchen Bereich die Ansprechperson ist. Eine Kurzfassung dieser Antwort wird in das kompiliert, was jeder Agent vor seinem ersten Tool-Aufruf liest.

Ein Profil gehört zum Team, nicht zu einem Repository

Das Profil gilt für die ganze Organisation und ist unabhängig vom Workspace. Wer die Ansprechperson für Payments ist, bleibt es, egal ob die Arbeit im API-Repository passiert, in der Mobile-App oder in einem Service, den es letzten Monat noch gar nicht gab. Würde man das Profil an einen Workspace binden, müsste dieselbe Tatsache in jedem Repository neu festgehalten werden, und genau so veraltet ein Verzeichnis.

Zwei Hälften, und nur eine davon wird abgeleitet

Ein Profil hat eine abgeleitete und eine angegebene Hälfte, und diese Trennung ist Absicht.

Abgeleitet: die Bereiche, in denen du tatsächlich arbeitest. Pathrule erfasst bereits zu jedem Arbeitsschritt einen kurzen Eintrag und weiß bereits, wer welche Memory und welche Regel an welchem Pfad verfasst hat. Diese beiden Zählungen, an einem Pfad protokollierte Arbeit und an diesem Pfad verfasstes Wissen, sind die Belege. Sonst wird nichts gelesen: nicht dein Code, nicht deine Commit-Messages, nicht wie lange etwas gedauert hat. Das Zeitfenster rolliert, sodass ein Bereich, den du hinter dir gelassen hast, aus deinem Profil verschwindet, statt dir jahrelang anzuhängen.

Angegeben: dein Entscheidungsbereich. Diesen tippt die Person selbst ein, er wird nie abgeleitet. Die Verantwortung für eine Produktentscheidung ergibt sich nicht daraus, dass jemand Dateien anfasst, und ein System, das sie aus Aktivitätszahlen schließt, würde sie schlicht erfinden. Wer letzten Monat am meisten am Billing-Code gearbeitet hat, ist vielleicht gerade die Person, die am wenigsten über eine Preisregel entscheiden sollte. Deshalb fragt Pathrule, statt zu raten.

Dasselbe gilt für deinen Anzeigenamen, deine Pronomen und deine Verfügbarkeit: deine eigenen Worte, in deiner eigenen Zeile.

Du siehst dein eigenes Profil und kannst es korrigieren

Du kannst genau nachlesen, was ein Agent über dich und dein Team erfährt: Der Team-Block ist der Abschnitt Team am Ende der Instruktionsdateien, die Pathrule für deine Clients schreibt, etwa CLAUDE.md oder AGENTS.md.

Eine abgeleitete Liste ist nicht das letzte Wort. Hat eine Person ihre eigene Liste von Bereichen oder Tags geschrieben, hat diese Vorrang vor der abgeleiteten. Allein das Vorhandensein dieser Liste kennzeichnet die Antwort als korrigiert statt abgeleitet, sodass bei der nächsten Ableitung nichts sie stillschweigend überschreibt.

Die Grenze erzwingt die Datenbank, nicht die Oberfläche. Eine Person kann ihre eigene Profilzeile schreiben und keine andere.

Was der Agent tatsächlich bekommt

Nicht die Profiltabelle. Sondern einen kurzen Block, angehängt an die Instruktionsdateien, die deine Agents zuerst lesen, der inhaltlich etwa so aussieht:

  • der Teamname sowie die Person, der die Datei gehört, mit einigen ihrer eigenen Bereiche
  • einige Kolleginnen und Kollegen, jeweils mit dem einen Bereich, für den sie die Ansprechperson sind
  • alle angegebenen Entscheidungsbereiche, als kurze Liste
  • eine Anweisung: Sprich die Nutzerin oder den Nutzer mit Namen an, und wenn eine Entscheidung den Bereich einer anderen Person berührt, verweise auf die zuständige Person, statt für sie zu entscheiden

Diese letzte Zeile ist der eigentliche Sinn des ganzen Features. Eine Liste von Namen ohne Anweisung sind Daten, über die ein Agent hinwegliest. Deshalb wird der Platz für die Anweisung reserviert, bevor irgendetwas anderes bemessen wird. Und würde der Block am Ende nur aus der Anweisung bestehen, ohne jemanden, auf den verwiesen werden kann, entfällt er vollständig, statt als Rauschen ausgeliefert zu werden.

Was der Block nicht sagen kann

Der Block akzeptiert Namen, Pfade, Tags und einen angegebenen Entscheidungsbereich. Es gibt kein Feld für Aussagen über Leistung, Tempo, Qualität oder Seniorität, und Freitext ist in der Länge begrenzt und wird auf eine einzige Zeile zusammengezogen. Das ist eine strukturelle Eigenschaft und keine Review-Richtlinie: In einer kompilierten Instruktionsdatei kann an dieser Stelle kein Absatz voller Meinungen über eine Kollegin oder einen Kollegen entstehen, weil es schlicht nichts gibt, worin ein solcher Satz transportiert werden könnte.

Außerdem ist er absichtlich klein: ein kleines festes Budget, einschließlich seiner Überschrift. Gibt es mehr zu sagen, als das Budget erlaubt, entfallen ganze Zeilen vom unwichtigsten Ende her, statt einen Satz zu halbieren. So bleibt auch ein gekürzter Block etwas, mit dem ein Agent arbeiten kann. Ein Block, einmal pro Datei, nie ein zweiter.

Warum er in der kompilierten Datei steht

Pathrule hat zwei Wege, einen Agent zu erreichen: die kompilierten Instruktionsdateien, die einmal zu Beginn einer Session gelesen werden, und den Hook pro Turn, der in Claude Code und Codex das Modell bei jedem Prompt erreicht. Der Hook ist der richtige Kanal für alles, was sich mit der Anfrage ändert. Dieser Block ändert sich nicht mit der Anfrage. Ihn bei jedem Prompt einer langen Session mitzubezahlen hieße, für eine konstante Tatsache viele Male zu zahlen.

Dass er ganz am Ende der Datei steht, hat einen verwandten Grund. Ein gecachter Instruktionspräfix wird ab dem ersten geänderten Byte ungültig, und die Teammitgliedschaft ändert sich weit häufiger als das Wissen in deinem Workspace. Steht der veränderliche Block zuletzt, bleibt alles darüber byte-identisch, wenn jemand dazukommt.

Die Sichtbarkeit gilt pro Person und ist standardmäßig auf „für dein Team sichtbar“ gesetzt. Ein auf privat gesetztes Profil verschwindet aus jeder teamseitigen Abfrage, einschließlich des kompilierten Blocks, sodass kein Agent im Team erfährt, wofür diese Person die Ansprechperson ist. Die Einstellung liegt in derselben Zeile wie das Profil, und die Datenbank wendet sie auf jede Abfrage an. Es gibt also keine Stelle, an der ein privates Profil durchsickert, weil ein einzelner Screen vergessen hat zu filtern.