Kansho/docs/architecture/functional/writing_profile_and_journaling.md
2026-08-29 20:28:59 +02:00

15 KiB
Raw Permalink Blame History

title status date product_family document_role parent_document
Kanshō Writing Profile und Journaling Arbeitsstand 2026-08-18 Jinkendo Fachkapitel / Writing Profile / Journaling fachliche_zielarchitektur.md
# Kanshō  Writing Profile und Journaling

Dieses Dokument ist das kanonische Home für persönlichen Schreibstil, Writing Profile und die fachliche Generierung von Tagebucheinträgen.

10.5 Writing Profile

Das Writing Profile dient dazu, dass erzeugte Texte langfristig nach der Person selbst klingen.

Es soll mehr umfassen als ein einfaches Style Prompt.

Mögliche Bestandteile:

  • Satzlängen,
  • Satzrhythmus,
  • Wortwahl,
  • typische Formulierungen,
  • Detailgrad,
  • Aufbau von Erzählungen,
  • Verhältnis zwischen Ereignisbeschreibung und Reflexion,
  • Grad emotionaler Direktheit,
  • bevorzugte Übergänge,
  • Humor,
  • typische Perspektive,
  • zeitliche Erzählweise.

Zusätzlich sollen geeignete eigene Texte als Stilreferenzen genutzt werden.


15. Persönlicher Sprach- und Schreibstil

Ein wesentliches Produktziel lautet:

Von Kanshō erzeugte Texte sollen auch nach Jahren noch vertraut wirken und sich wie eigene Texte lesen.

Die App soll deshalb nicht die typischen Merkmale generischer KI-Texte reproduzieren.

Kanshō soll sich an Ausdruck, Struktur und Erzählweise der Person angleichen.

Dazu sollen nicht nur formale Stilregeln genutzt werden, sondern vor allem:

  • eigene frühere Texte,
  • thematisch vergleichbare Tagebucheinträge,
  • persönliche Formulierungen,
  • bestätigte Stilpräferenzen,
  • langfristige stilistische Entwicklung.

Der persönliche Stil darf sich über Jahre verändern. Deshalb sollte das Writing Profile ebenfalls versionierbar beziehungsweise zeitabhängig sein.


16. Zweistufige Generierung von Tagebucheinträgen

Für generierte Tagebucheinträge wird ein zweistufiges Modell bevorzugt.

Stufe 1 Bedeutung und Inhalt rekonstruieren

Zuerst wird bestimmt:

  • Was ist tatsächlich passiert?
  • Was wurde ausdrücklich gesagt?
  • Was wurde empfunden?
  • Welche Erkenntnisse wurden im Dialog entwickelt?
  • Welche Aussagen sind Interpretation oder Hypothese?
  • Welche Aspekte sollen überhaupt Teil des Tagebucheintrags sein?

Diese Stufe dient insbesondere der inhaltlichen Wahrhaftigkeit.

Stufe 2 Persönliche Narration

Erst danach wird aus den bestätigten Inhalten ein persönlicher Text erzeugt.

Dabei werden verwendet:

  • Writing Profile,
  • passende eigene Texte,
  • Kontext des Erlebnisses,
  • gewünschter Detailgrad,
  • zeitliche Perspektive.

Damit werden Inhaltstreue und sprachliche Gestaltung bewusst getrennt.

Additiv 2026-08-26 (Narration, nicht Wortlautkopie): Provenienztreue bedeutet Faktentreue, nicht wörtliche Wiedergabe. Das lokale VerifiedArtifact ist autoritative Inhaltsquelle, das Writing Profile autoritative Stilquelle. Der aktuelle Tagesdialog ist Inhalt, nicht automatisch Schreibstil. Offensichtliche Rechtschreib- und Grammatikfehler sollen im Journalentwurf korrigiert werden; semantische Unsicherheit, Plan versus Vollzug und einmalige Details bleiben. Stufe 2 darf keine Dialogabschrift und keine Aneinanderreihung der Quellenzeilen liefern.

Additiv 2026-08-26 (redaktionelles Ziel): Die Journalgenerierung erzeugt eine inhaltstreue, redaktionell verbesserte Tagebuchfassung in der persönlichen Schreibstimme. Hohe Wortlautähnlichkeit ist kein Fehler, wenn der Ausgangstext bereits gut ist. Ein Fehler liegt vor, wenn kein erkennbarer redaktioneller Mehrwert entsteht (übernommene Fehler, holprige Übergänge, reine Kopie). Kanshō erzwingt keine künstliche Originalität.

Faktentreue und Wortlauttreue sind getrennt. Unsicherheit, Verneinung, Korrekturen sowie Plan versus Vollzug müssen semantisch erhalten bleiben, nicht wortidentisch. Sprachlich nötige Übergänge sind erlaubt, solange sie keine neue Ursache, Bewertung oder Handlung behaupten. Gute Originalformulierungen und direkte Rede dürfen bleiben.

Additiv 2026-08-27 (Narrationsvertrag, Redaktion und Evaluation): Inhaltlich unveränderlich bleiben Ereignisse, Personen, Orte, Zeiten, Chronologie, Verneinungen, Unsicherheiten, Plan versus Vollzug, ausdrücklich genannte Gefühle und Bewertungen, Korrekturen und einmalige Details. Redaktionell erforderlich sind Rechtschreibung, Grammatik, vollständige Sätze, Übergänge, das Verbinden zusammengehöriger Angaben und das sprachliche Gewichten vorhandener Kontraste und besonderer Momente. Unvollständige Quellen dürfen ohne neue Tatsache umgebaut werden; Raten und syntaktisch kaputte Ausgabe sind unzulässig. prose_edit ist Endredaktion, notes_to_journal erzeugt zusammenhängende Journalprosa statt einer verbundenen Liste. Stilquellenpriorität: bestätigtes Writing Profile, dann finale Nutzerfassungen, dann Importe, dann Trait-Exemplare, sonst neutraler Journalstil. Der aktuelle Tagesdialog bleibt nur Inhaltsquelle. Lexikalische Ähnlichkeit und unvollständige Syntax sind Diagnose. Vergleich: backend/journal_eval.py (offline Standard; Live nur --live --profile-id; Profil-A/B mit --profile-ab). Das Harness erklärt keinen Sieger.

Zwei journal-spezifische Editorial Modes, lokal und ohne zweiten Modellaufruf:

  • prose_edit: bereits erzählerischer Rohtext wird behutsam überarbeitet.
  • notes_to_journal: Stichpunkte und Fragmente werden zu zusammenhängender Journalprosa. Die lokale Klassifikation nutzt Bullet-Anteil, kurze Fragmente, vollständige Sätze und Absatzstruktur. Ein überwiegend stichpunktartiger Dialog mit einzelnen Sätzen bleibt notes_to_journal; ausformulierter Fließtext bleibt prose_edit.

Das bestätigte Writing Profile ist die primäre Stilautorität (Core, Journal-Facet, aktive Traits). Historische finale, vom Nutzer akzeptierte oder bearbeitete Tagebucheinträge sind reine Stilreferenz; importierte Texte danach; sonst neutraler Journalstil. Der aktuelle Tagesdialog ist keine Stilautorität. Historische Beispiele dürfen keine aktuellen Tatsachen liefern.

Kosten: im Normalfall genau ein externer journal_generate-Aufruf. Kein Rekonstruktionsmodell, keine Modusklassifikation per Modell, kein Qualitätsretry wegen Textähnlichkeit, kein Privacy-Retry nach der Modellantwort. Textähnlichkeit ist Diagnose, keine Annahme- oder Verwerfungsregel.

Additiv 2026-08-27 (Privacy vor dem Socket, Provenienz danach): Aktiver Klartext in der Modellantwort wird lokal dem Request-Token zugeordnet und demaskiert. Journalspezifische Provenienz lässt nur in den heutigen Nutzerquellen belegte Identitäten zu. Unbekannte oder generische Platzhalter materialisieren keine Identität. Ein nicht lokal lösbarer Fehler speichert keinen journal_draft und liefert journal_generation_not_accepted / „Generierung nicht übernommen.“ Eine lokale Quellenansicht darf separat erscheinen, gilt aber nicht als generierter Entwurf.

Automatisierte Tests beweisen Datenfluss und Promptvertrag, nicht die Prosaqualität eines echten Modells. Vergleichbare Live-Evaluation: backend/journal_eval.py (manuell, nicht im Produktionslauf). Live-Qualität bleibt unbestätigt, bis ein kontrollierter Modellvergleich ausgeführt wurde.

Allgemeine Infrastruktur (Provenienz, Maskierung, Budget, bestätigte Profilstände, Stilreferenz-Auswahl, Traces) bleibt intent-neutral. Journalregeln (Editorial Modes, Journal-Facet, Ich-Form, Titel, Absatzform) liegen nur im Journal-Adapter.

Additiv 2026-08-27 (Generation Policy): Die redaktionelle Freiheit der Journalgenerierung ist über vier journalspezifische Ausgabeeinstellungen steuerbar, jeweils ganzzahlig von 0 bis 100. Werte außerhalb dieses Bereichs werden abgelehnt, nicht still begrenzt. Defaults für bestehende Profile: transformation_strength 75, detail_retention 95, voice_strength 80, narrative_shaping 60.

Die Zahlen sind keine Modelltemperatur und keine Sampling-Parameter. Ein lokaler, deterministischer Compiler übersetzt sie in kurze Anweisungen (transformation_instructions, detail_instructions, voice_instructions, narrative_instructions). source_mode_instructions bleibt automatisch aus prose_edit beziehungsweise notes_to_journal; der Nutzer stellt diesen Modus nicht selbst ein. Die Anweisungstexte selbst sind administrierbare Konfiguration (Seed und Datenbank), nicht Anwendungscode.

Die vier Parameter gehören nicht zum Writing Profile, werden nicht aus Nutzerverhalten gelernt und verändern keine Privacy-, Provenienz- oder Faktentreue-Regeln. Unveränderlich bleiben: keine erfundenen Tatsachen, Plan versus Vollzug, Verneinungen und Unsicherheiten, unbelegte Chronologie, keine Inhalte aus Writing Profile oder Stilbeispielen, vollständige Nutzung des Privacy Gateway.

Persistenz ist profilbezogen (journal_generation_settings). Ein Request-Snapshot gilt nur für den aktuellen Lauf; Speichern als Profilstandard nur bei ausdrücklichem remember_generation_policy. Das Prinzip (lokal kompilierte Ausgabeeinstellungen statt uninterpretierter Zahlen im Prompt) kann später für andere Outputs wiederverwendet werden. Dieser Schritt baut keine weiteren Intents.

Additiv 2026-08-27 (benannte Richtlinienausprägungen): Die numerischen Werte 0100 und die Schieberegler sind für den MVP verworfen. Die vier Dimensionen bleiben unabhängig kombinierbar: Bearbeitungsstärke, Detailerhaltung, Persönliche Stimme, Erzählgestaltung. Jede Dimension hat eine administrierbare, erweiterbare Liste benannter Ausprägungen (generation_guidelines) mit stabiler ID, Key, Nutzerbezeichnung, Kurzbeschreibung, Promptanweisung, Status draft/active/archived und Revision. Aktive Ausprägungen sind inhaltlich unveränderlich; Änderungen entstehen durch Klonen. Archivierte bleiben für alte Entwürfe lesbar, sind aber nicht mehr neu wählbar. Der Journal-Tag bietet vier kompakte Auswahllisten nur mit aktiven Ausprägungen; Promptanweisungen bleiben Nutzern verborgen. Der Generate-Request sendet generation_selection mit den vier IDs. Ohne explizite Auswahl gelten gespeicherte Profilwerte, sonst die aktiven Systemstandards. Unbekannte, nicht veröffentlichte oder archivierte IDs werden abgelehnt, nicht still ersetzt. remember_generation_selection speichert die Kombination nur auf ausdrücklichen Wunsch. Am Entwurf bleibt ein kompakter Snapshot (IDs, Keys, Bezeichnungen, Revisionen, automatischer Quellenmodus, Prompt-Slug/-Revision, Modell) ohne Promptkörper und ohne persönliche Quellen. Source Modes prose_edit und notes_to_journal bleiben automatisch und nur administrierbar.

Additiv 2026-08-27 (Mischquellen, ein Generate-Aufruf): Die frühere exklusive Unterscheidung zwischen prose_edit und notes_to_journal war eine technische Zwischenlösung und gilt als ersetzt. Mischquellen Fließtext, Stichpunkte und Fragmente im selben Dialog, derselben Nachricht und demselben Tag sind der Normalfall. Sie werden in genau einem Generate-Aufruf verarbeitet; das Modell behandelt jede Passage nach ihrer Form. Es gibt keine vorgeschaltete Gesamtklassifikation und keine dritte Kategorie wie mixed oder hybrid. Die vier nutzergewählten Gestaltungsdimensionen bleiben davon unabhängig. CURRENT_DAY_SOURCES bleibt vollständig und in Quellenreihenfolge. Ein administrativ angepasster Prompt mit veraltetem Platzhalter ({{source_mode_instructions}}, {{editorial_mode}}, {{editorial_instructions}}) wird vor dem Provider mit prompt_contract_incompatible abgelehnt, ohne stillen Rohtext-Draft.

Additiv 2026-08-28 (akzeptierter Modelltext und wirksame Auswahl): Nach Demaskierung darf der übernommene Journaltext lokal nicht mehr grammatisch oder referenziell umgeschrieben werden. Das Qualitätsziel, Namenswiederholungen zu vermeiden, bleibt beim Modell; der MVP erzwingt es nicht durch eine lokale Heuristik. Preview und Generate lösen dieselbe generation_selection (ID und Revision) über compile_selection. Eine ungültige oder nicht mehr aktive Auswahl fällt nicht still auf einen Default. Admin-Publish, Aktivieren oder Default-Setzen setzt eine bestehende Nutzerauswahl nicht zurück.

Additiv 2026-08-29 (Stilkontext der Stilanwendungsvariante): Die Dimension Persönliche Stimme bleibt eine einzige Auswahl. Zu jeder Stilanwendungsausprägung gehört neben der Promptanweisung eine strukturierte Stilkontext-Konfiguration (include_core, include_facet, include_traits, include_style_examples), keine Prozentgewichtung und kein zusätzlicher sichtbarer Regler. Der Prompt Builder überträgt nur freigegebene Stilbestandteile; leere Profilabschnitte entfallen. Ohne persönliches Profil sendet keinen Writing-Profile-Inhalt, keine Style Examples und keine Stilableitung aus dem aktuellen Tagesdialog. Historische Beispiele bleiben style only. Promptanweisung und Stilkontext werden gemeinsam versioniert. Unveränderte Systemseeds werden idempotent aktualisiert; unabhängig erzeugte Klone und gespeicherte Auswahlen bleiben gültig. Faktisches Langzeitgedächtnis und Space-Kontext sind keine Stilquellen dieses Schritts.

Additiv 2026-08-29 (Legacy-Vergleich und immutable Seeds): Die aktuellen Voice-IDs und gespeicherten Auswahlen bleiben. Zusätzlich gibt es rekonstruierte Vergleichsausprägungen Legacy vor Stilkontextsteuerung mit neuen IDs, der früheren Promptanweisung und dem früher tatsächlich verwendeten vollen Stilkontext (Core, Facet, Traits, Style Examples). Ab diesem Stand darf ein Seed eine vorhandene Varianten-ID fachlich nicht mehr überschreiben; eine semantische Änderung legt eine Nachfolge-ID mit Vorgängerbezug an. Neue Defaults dürfen auf die Nachfolge zeigen. Archivierte Varianten und Admin-Klone bleiben unangetastet. Ohne Style Examples enthält der gerenderte Prompt keinen verwaisten STYLE_EXAMPLES-Verweis.


Journal Entry als häufiger, aber nicht zwingender Abschluss einer Tagesreflexion

Status: entschieden

Bei einer substanziellen Tagesreflexion wird standardmäßig im Hintergrund ein persönlicher Journal-Entwurf vorbereitet. Am natürlichen Abschluss wird dezent angeboten, ihn anzusehen, zu bearbeiten oder zu übernehmen.

Dabei gilt:

  • Häufig wird aus einer Tagesreflexion ein Journal Entry entstehen.
  • Ein kurzer Check-in, eine reine Achtsamkeitssequenz oder ein Dialog ohne ausreichenden erzählerischen Inhalt erzwingt keinen Entwurf.
  • Wenn der Nutzer ausdrücklich nur reflektieren oder keinen Tagebucheintrag erzeugen möchte, entsteht keiner.
  • Automatische Vorbereitung bedeutet noch keine ungeprüfte endgültige Ablage.
  • Für den Entwurf gilt weiterhin die zweistufige Trennung zwischen inhaltlicher Rekonstruktion und persönlicher Narration.

Der Journal Entry ist damit ein häufiger und hochwertiger Ausdruck der Tagesreflexion, aber weder ihr notwendiger Erfolgsnachweis noch ihr einzig möglicher persistierter Inhalt.


Querverweise

Die fachliche Rolle des Journal Entry als Dialog-Output wird in reflection_outputs.md geführt. Die Nutzungssituationen für Tagebuch und Tagesreflexion liegen in usage_situations.md.