feat: voice and language capture through existing fingerprint layers#138
Merged
daveh-beep merged 2 commits intoJun 11, 2026
Merged
Conversation
4 tasks
Adds docs/language-fingerprints.md mapping voice intent, copy material, copy patterns, and the deterministic subset onto prose, inventory, composition, and enforcement checks with zero schema changes. Adds the voice skill recipe and registers it in SKILL.md and the install manifest. Supersedes the communication-voice domain proposal (block#49).
2c57b6b to
bc06575
Compare
nahiyankhan
approved these changes
Jun 11, 2026
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.
Summary
Documents how voice and language flow through Ghost's existing fingerprint model — no new domain, no schema change, no new dimensions. Supersedes #49.
Why not a new domain
#49 proposed communication voice as a parallel dimension set (tone/structure/register/boundaries with 0–1 scalars and a 20-dim embedding). That design predates the fingerprint-package model and has aged out on three axes:
packages/ghost-drift/, which was folded intopackages/ghost. The frontmatter/body partition rules andghost-driftverbs it builds on are legacy.prose.summary.toneexists,composition.ymlhaskind: contentpatterns, andenforcement/checks.ymlshipsforbidden-regex/required-regexdetectors — which is what the proposedboundariesblock reinvents.What this adds
docs/language-fingerprints.md— the mapping: voice intent →prose.yml(tone words, principles, experience contracts for exact-wording surfaces); copy material and external writing standards →inventory.yml(sourcesentries point at maintained standards instead of forking them); copy shapes →composition.ymlkind: contentpatterns; the mechanically detectable subset →enforcement/checks.yml.status: activecheck (blocks); should →status: proposed(advisory inghost review); may/contextual → composition guidance only, never a gate.references/voice.md— skill recipe: inventory user-facing strings → read the declared standards source → draft smallest evidence-backed entries → promote only the deterministic subset to checks → human curates, Git approves.SKILL.md,install/manifest.json, README resources, plus aminorchangeset.All examples are org-agnostic per the repo's own
oss-language-is-portableprinciple: any project with a style guide wires it in viainventory.sources; organization-specific voice content lives in each adopting repo's own fingerprint, not in Ghost.Test plan
pnpm buildcleanpnpm test— 338/338 passing (install-manifest test coversvoice.md)pnpm checkguards pass (terminology, file-size, install-bundle, CLI manifest in sync)