The voice-fingerprint (docs/daphna-voice-fingerprint.md) is the PRIMARY abstract style channel the writer consumes (07-learning §0.2 channel A), but it was hand-authored and never regenerated from the growing corpus — the "voice" the writer adapts stayed frozen while finals accumulated. PR #345 unfroze the structural half (corpus-measured ratios → writer); this is the prose half. scripts/regenerate_voice_fingerprint.py reads the corpus (style_corpus stats + a bounded block-level style_exemplars sample + measured section ratios) and asks Opus (local) to PROPOSE refinements/additions to the fingerprint — STYLE / METHOD / VOICE / LEXICON only, grounded in corpus evidence, never case substance (INV-LRN5), preserving curated insights rather than replacing them. CHAIR-GATED, HARD (INV-LRN1): the prose profile is voice-knowledge, not a low-risk style rule, so it does NOT auto-flow. The script writes a PROPOSAL to data/curator-proposals/ (the existing curator-proposal surface) and NEVER overwrites the live fingerprint; the chair reviews and hand-commits accepted parts — the same manual gate the fingerprint already uses. Runs on the host (claude CLI). Reuses claude_session + measure_corpus_ratios + the curator-proposals dir (G2 — no parallel synthesis or gate). SCRIPTS.md + spec §0.2 updated. Invariants: INV-LRN1 (hard chair gate for voice-knowledge prose), INV-LRN5 (style-only synthesis), G2 (reuses existing synthesis inputs + proposal surface). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
6.5 KiB
Executable File
6.5 KiB
Executable File